c#ef框架里Bll层的查询方法为什么要定义成泛型类呢,有什么好处

图片说明
/upload/201903/21/1553129005_404417.png)

通常都是在BaseService里提供泛型类的增删改查函数,如

public IQueryable LoadEntities(System.Linq.Expressions.Expression> whereLambda)
{

                    return CurrentDal.LoadEntities(whereLambda);
    }

然后每个实体新建一个Service继承BaseService,泛型T就指定具体了。如图,StaffService创建实例后就可以查询Staff实体了,
但是查询通常会查询多表啊,就是查询多个实体。
我的疑惑有两点:

1、为什么不在Bll层提供Dbcontext实例呢,到时可以方便的任意查询多表。
2、比如我要在StaffService里查询其他实体时,你们是怎么处理的呢

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#开发中三层架构BLL,DAL还有IBLL和IDAL接口,请问为什么要定义接口?有什么用啊?
这是为了让模块之间解除耦合,例如某个业务用接口表示了,那么它的具体实现都是基于这个接口的;在使用中,直接操作接口类型即可,而实际实现接口的对象是根据业务传递进来的。(可以看作接口是所有实现的父类,这样只要传递进来的对象是接口的实现,即可通过接口定义的方法对对象进行操作,至于这个对象是谁,不需要关心) 具体举例来说:汪星人会“汪汪”叫,而喵星人会“喵喵”叫,业务是操纵这些萌物叫,那么可以定义一
.Net三层中BLL的作用
1、BLL层在大多数使用过程中完全就是直接调用DAL层的方法,那BLL有什么用呢?他不是逻辑控制层吗?看上他的Add2方法是一个添加用户的方法,在BLL层中如何实现逻辑控制呢?在添加用户的时候我们需要判断该用户是否存在,如果存在就返回一个false,表示添加失败。这个时候BLL就展现出来逻辑控制的用途了,先判断一下用户,不存在在进行用户添加。...
Java中为何要定义抽象类
抽象方法:由abstract修饰的方法为抽象方法,抽象方法只有方法的定义,没有方法的实现。 抽象类:一个类中如果包含抽象方法,个i类应该用abstract关键字声明为抽象类。 抽象类不可以实例化,即使一个类中没有抽象方法,也可以将其定义为抽象类,同样,该类不可以实例化。 抽象类的意义: 1,为子类提供一个公共的类型; 2,封装子类中重复内容(成员变量和方法); 3,定义
为什么要用分布式架构,又为什么要用微服务?
上次面试时经常被问到一个问题,你为什么要用dubbo? 由于经验尚浅,实在是没说得明明白白。 我用了dubbo后,我就可以这样调接口,巴拉巴拉,说到底还是争不过面试官问:那照你这么说,我不用分布式架构也可以完成啊,你只是说了用了分布式架构后业务处理的方法,并没有弄懂里面的原因。 结果自然是。。。。。。。给了offer,没去 简要的分析一下单体架构的优缺点,再说说用了分布式架构后会遇到的问题
什么是泛型?为什么要使用泛型?
我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int类型数据,另一个处理String类型数据,或者其 他自定义类型数据,但是我们没有办法,只能分别写多个方法处理每种数据类型,因为方法的参数类型不同。那有一种方法, 在方法中传入通用的数据类型,就可以用来合并代码,这就是泛型。 为什么要使用泛型 为了了解这个问题,我们先看下面的代码,代码省略了一些内容,但功能
spring MVC里面service接口类的作用
现在编程是面向接口编程,举个例子,假如我的代码以前是哪mybaties写的,现在我要那hibernate写,我就只用修改service的实现类。我的Control层调用的是service的接口类,所以我就不用修改Control层的内容。
Java框架之为什么要使用Spring框架?Spring框架有什么优点?
Spring框架的优点、作用 轻量:Spring是轻量级的,基本的版本大小为2MB 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们 面向切面的编程AOP : Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开 容器:Spring包含并管理应用中对象的生命周期和配置 ...
泛型的意义和作用是啥?
简单的说,意义和作用有:   类型的参数化,就是可以把类型像方法的参数那样传递。这一点意义非凡。   泛型使编译器可以在编译期间对类型进行检查以提高类型安全,减少运行时由于对象类型不匹配引发的异常。   泛型方法,算法的复用。蛮神奇的。 想要理解为什么引入泛型,就要知道没有泛型的麻烦。   我们知道现在的程序开发都是面向对象了,所以程序里会有很多各种类型的对象,对象多了肯定需要有某种类型
[C#基础知识]之 .net中的泛型全面解析
从2.0起我们一直就在谈论泛型,那么什么是泛型,泛型有什么好处,与泛型相关的概念又该怎么使用,比如泛型方法,泛型委托。这一篇我会全面的介绍泛型。   那么首先我们必须搞清楚什么是泛型,泛型其实也是一种类型,跟我们使用的int,string一样都是.net的类型。泛型其实就是一个模板类型,万能类型。它允许我们在设计类的时候使用一个类型空白。预留一个类型。等到我们使用这个类的时候,我们可以使用特
在做java 的web开发,为什么要使用框架
现在做项目都会使用框架,现在很常见的框架就是SSH(Struts+SpringMVC+Spring+Hibernate),SSM(Struts/springMVC+Spring+Hibernate),而我最近做的项目itoo中,使用到框架为easyUI+SpringMVC+EJB+hibernate.做项目分层是为了更好的解耦,分层可以完全不用你框架就能够解决,为什么还不需要这么多框架呢?
JAVA 为什么要使用抽象类
JAVA 为什么要使用抽象类 使用抽象类有什么好处
Java面试题:使用Spring框架的好处是什么?
1、轻量: Spring 是轻量的,基本的版本大约2MB。  2、控制反转: Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。  3、面向切面的编程(AOP): Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。  4、容器: Spring 包含并管理应用中对象的生命周期和配置。  5、MVC框架: Spring的WEB框架是个精心设计的...
三层架构(UI/BLL/DAL)
三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。  1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。  2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。  3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增、删、改、查。概述      在软件体系架构设计中,
为什么laravel框架,laravel框架有什么优点?
我当初选择 Laravel 是有一整套标准的,我的使用的理由也很简单: Laravel 是最有名的 PHP 框架,Github 上两万多 star,比第二第三多出两倍; 它的语法优雅,很多方法都不用看文档直接就能推算出来; 全栈,该有的都有了,方便快速构建原型; 扩展齐全,大量的扩展包,有 WordPress 的感觉; 文档齐全; 最有名绝对是选择的关键点,要用就用第一的,遇到问题,随...
C#中三层架构UI、BLL、DAL、Model详解
三层架构分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)再加上实体类库(Model) 转载请注明出自朱朱家园https://blog.csdn.net/zhgl7688 1、实体类库(Model),主要存放数据库中的表字段。 操作: (1)先建立实体类库Model,打开项目,在解决方案中右键--》添加--》新建项目--》选中类库--》改名Model--》确定 (2)选中M
网络协议为什么分层,以及分层的好处
面试中被问到网络模型分层的优势,引用https://www.applysquare.com/topic-cn/V9UHWe49W/  的文章内容。 计算机网络的理解上,人们往往进行分层处理,OSI和TCP/IP网络模型都是将网络体系工作的流程进行了层次化的划分,进行层次划分优点有以下几点: 1.各层次之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供...
C#--抽象工厂设计模式--三层框架
项目各层之间的引用关系搭建基于抽象工厂的三层框架设计数据访问接口模块DAL 编写SQLServer数据库的SQLHelper 。 和其他框架编写完全一样 使用SQLServer数据提供程序实现IDAL中的所有接口方法编写访问Access数据库的AccessHelper 需要使用 using System.Data; using System.Data.O
用VS建立 ASP.NET多层架构 (bll、model、dal、dbutility)彼此间的引用及关系
ASP.NET 三层架构 最近开发一个项目需要用到ASP.NET,由于之前一直做前端,刚接触后台,被虐得不要不要的。 查了很多资料,才对ASP.NET多层架构有了稍微清晰的了解。在此码字,有不对的地方希望各路大神多多指导~ 首先,先看看常常提及的  三层模型   是什么鬼! 三层可以说是一个概念吧。 举个栗子!以“三苏”(苏轼、苏辙、苏洵)来比喻这个模型吧! 业务(BLL)层 是苏洵(苏轼、苏辙
为什么有时需要先定义一个接口,然后再实现这个接口的实现类?
作者:Dion 链接:https://www.zhihu.com/question/20111251/answer/14012223 来源:知乎 接口是个规范”,这句没错。 “不如直接就在这个类中写实现方法岂不是更便捷”,你怎么保证这个接口就一个类去实现呢?如果多个类去实现同一个接口,程序怎么知道他们是有关联的呢? 既然不是一个类去实现,那就是有很多地方有用到,大家需要统一标准。甚至有的编程语...
为什么Controller层注入的是Service接口,而不是ServiceImpl实现类
为什么Controller层注入的是Service接口,而不是ServiceImpl实现类
C++中为什么要使用断言
断言assert是仅在debug下有效的宏,当其中的条件为假时,触发错误提示。使用断言的目的是捕捉不应该发生的非法情况。注意:不要混淆非法情况与错误情况之间的区别,后者的出现是因为代码错误,是一定要作出处理的。
Java中为什么要使用泛型?
         泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。       &...
对隐藏层的简单理解
  在多级前馈网当中,隐藏层的定义是:除输入层和输出层以外的其他各层叫做隐藏层.隐藏层不直接接受外界的信号,也不直接向外界发送信号 .  什么是输入层呢?和单级网络一样,该层只起到输入信号的扇出作用.所以在计算网络的层数时不被记入.该层负责接收来自网络外部的信息,被记作第0层.  什么是输出层,它是网络的最后一层,具有该网络的最大层号,负责输出网络的计算结果.  从上面的话可以粗略的看
Spring Web 项目给Service层和Dao层创建接口的意义
对于在web 项目中,Service层和Dao层用接口来维护。相信有很多人都会这么认为:我做了几年项目,从没发现业务代码中Service或Dao接口有第二个实现类。写一个方法需要先在接口声明一次,再实现一次,很麻烦,不如直接实现。   实际意义: 接口的优势大家应该都明白:只关心接口的调用,而不用去关心内部实现;在团队开发时,可以更好的实现同步开发。提供方和使用方只要前期定义好接口,前后...
什么是MVC设计模式,为什么使用MVC?
MVC 全称Model(模型)-View(视图)-Controller(控制器),这是一种开发模式,他的好处是可以将界面和业务逻辑分离。     Model(模型),是程序的主体部分,主要包含业务数据和业务逻辑。在模型层,还会涉及到用户发布的服务,在服务中会根据不同的业务需求,更新业务模型中的数据。      View(视图),是程序呈现给用户的部分,是用户和程序交互的接口,用户
为什么要定义成integer类型
int 是基本数据类型 Integer是其包装类,注意是一个类。 为什么要提供包装类呢??? 一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。 比如,现在int要转为String int a=0; String result=Integer.toString(a); 在java中包装类,比较多的用途是用在于各种数据类型的转化中。 我写几个demo //
spring框架的好处,为什么使用它?
技术分析之Spring框架的特点 1. 为什么要学习Spring的框架 * 方便解耦,简化开发 * Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理 * AOP编程的支持 * Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能 * 声明式事务的支持 * 只需要通过
三层架构(DAL/BLL/UI)和MVC设计模式的关系
首先,MVC和三层架构,是不一样的。 BLL   是业务逻辑层   Business   Logic   Layer    DAL   是数据访问层   Data   Access   Layer           ASP.NET的三层架构(DAL,BLL,UI)  图形表示三层结构. 其中web即为USL层 web –> bll –> dal |
C#学习-EF在三层中使用
http://www.cnblogs.com/2star/p/4200234.html
为什么在spring中在控制层注入业务层要定义为接口
例如: @RestController public class UserController { @Autowired private UserService userService; ... } (UserService 的实现类是UserServiceImpl) 那么如果写成下面这样行不行呢? @RestController public class UserController...
我们为什么需要DTO?
看了几套源码,其中都有用到DTO,这篇文章主要来谈论一下DTO使用的场合及其带来的好处。 在传统的编程中,我们一般都是前台请求数据,发送到Webservice,然后WebService向数据库发出请求,获取数据,然后一层层返回;模型如下: 这种比较原始的请求方式带来的缺点有很多,多次 请求耗费一定的网络资源,减慢效率。如果一次性返回整个实体类,还可能造成数据库表结构的泄漏。
泛型是什么?为什么要使用泛型?
我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int型数据,另一个是处理String类型数据,或者其它自定义类型数据,但是我们没有办法,只能分别写多个方法处理每种数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的。 为什么要使用泛型 为了了解这个问题,我们先看下面的代码,代码省略了一
泛型的应用 泛型的好处
对于intOb==strOb,我们知道在语义上是一条错误的语句,但是在编译时不会报错,因为其语法正确,两种类型都继承自Object类,在运行时会出现异常。使用泛型就可以避免上面这种麻烦,泛型的好处是在编译的时候检查类型安全,并能捕捉类型不匹配的错误,并且所有的强制转换都是隐式的和自动的,提高代码的重用率...
什么是Spring框架?使用Spring框架有什么好处?Spring框架都有哪些模块,怎样使用?为什么要使用?Spring框架为什么这么设计?
25个问题能初步理解Spring框架 什么是Spring框架?Spring框架有哪些主要模块? 使用Spring框架有什么好处? 控制反转(IOC)?依赖注入? 请解释下Spring中的IOC? BeanFactory和ApplicationContext的区别 将Spring配置到你的应用中共有几种方法? 什么基于XML的配置? 什么基于Java的配置? 用注解的方式配置Spr...
java web开发为什么要使用框架
转自:http://blog.csdn.net/tang_huan_11/article/details/47856721#comments 现在做项目都会使用框架,现在很常见的框架就是SSH(Struts+SpringMVC+hibernate),SSM(Struts/springMVC+Spring+Hibernate), 做项目分层是为了更好的解耦,分层可以完全不用你框架就能够解
使用TestNG的八大理由
     转自【http://juvenshun.spaces.live.com/blog/cns!CF7D1BC903C111E1!313.entry?fl=cat 】   使用Annotation来标识测试。 传统xUnit用命名规范来标识测试,难免有时会给人带来束缚。使用Annotation,束缚消失了,而且功能更强大了,一句@BeforeClass 就可以让一个方法在整个类之前运行,J...
Java中的泛型是什么 ? 使用泛型的好处是什么?
这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中。那些拥有Java1.4或更早版本的开发背景的人都知道,在集合中存储对象并在使用前进行类型转换是多么的不方便。泛型防止了那种情况的发生。它提供了编译期的类型安全,确保你只能把正确类型的对象放入集合中,避免了在运行时出现ClassCastException。    E良师益友有相关的极速开发课程,有兴趣可以看
函数指针的作用以及好处
//函数指针使用的例子#include #include char * fun(char * p1,char * p2) {   int i = 0;   i = strcmp(p1,p2);   if (0 == i)   {     return p1;   }   else   {     return p2;   } } int main() {   char * (*pf
ASP.NET 三层框架搭建 BLL+IDAL+DAL+DB+MODEL
ASP.NET 三层框架搭建 BLL+IDAL+DAL+DB+MODEL 通用性很强直接可以使用。
为什么要使用集合框架?
很多时候,我们专心研究一个东西的时候,往往忘记了我们最初的目的是什么。         曾经研究过那么久的Java集合框架,为了搞清里面的细节,甚至都跑去重新买了一本数据结构,终于知道了线性表,知道了树,知道了查找表。也自己动手实现了ArrayList,LinkedList,HashMap等。         今天在公交车上,突然想到“我们为什么要使用Java集合框架呢?”竟然一时语塞,半天想
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习区块链有什么好处 区块链班长有什么好处

相似问题

0
c#ef框架里Bll层的查询方法为什么要定义成泛型类呢,有什么好处
1
vb程序运行时报错:“不能重复定义字段”,如何解决?
0
汇编语言的代码在dosboxs上出了点问题,有大神帮忙解决一下吗?
2
adoquery 使用问题,为什么无法更新
3
【C语言】将字符串逆序,为什么输出的时候多一个?号
1
C#引用类,在外部new之后,提示没有构造函数,如何才能使用里面的方法?
1
请问各位大佬,蓝屏错误x0000015A是怎么引起的?我查过dmp文件也没查出什么......
3
我想知道这段JAVA片段为什么报错,刚开始学习JAVA,照着书上敲的。
1
如何利用VBA把若干工作簿里的表保存到一个新建的工作簿里?
0
根据同一个wsdl文档,为什么不同的soap工具生成的soap消息包不完全一致?
3
echo helloworld;不加双引号和加了双引号有什么区别吗?
0
汇编2048有类库怎么编译
1
MATLAB EMD分解结果和显示有差别
0
关于matlab行波阈值去噪,为什么结果出来后并没有变化呢
1
能否直观地表现希尔伯特变换的意义?如什么是将双边谱变单边谱?
1
有知道在zynq 7000平台下做以太网通信实验的实例吗?
1
inux 子线程执行完成后为什么使用ps命令依然能够看到该子线程
1
为什么r,h无论输入多少值,输出结果都为0.000???
1
各位老师好!Visual studio2017 python函数无法转到定义是怎么回事?
2
VS2017 MFC 为什么我这个项目会抛出找不到FindFile.cpp的异常,而新建的工程可以?