菜的像徐坤
排名
7
文章
192
粉丝
15
评论
16
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

EF 左外连接查询数据

5677人阅读 2021/3/23 16:00 总访问:1018830 评论:0 收藏:0 手机
分类: EF

linq ( DefaultIfEmpty()方法是核心方法,添加此方法在后台才能产生 lift join的SQL语句,不添加则为join)

  1.    //使用linq
  2.    var database = from c in oaentities.Userchild
  3.             join f in oaentities.Userfather on c.Fid equals f.Cid into leftjointemp
  4.             from leftjoin in leftjointemp.DefaultIfEmpty()
  5.             select new
  6.             {
  7.              c.sid,
  8.              c.Username,
  9.              leftjoin.Fathername
  10.             };
  11.       var joinfdatabase = database.ToList();

lamdba表达式(使用GroupJoin ,GroupJoin是一对多的方法,SelectMany是一对一的方法

  1.  var database = oaentities.Userchild.GroupJoin(oaentities.Userfather, a => a.Fid, b => b.Cid, (user, parent) => new
  2.             {
  3.                 //主表字段可以点出来
  4.                 user = user,
  5.                 //附表字段不能点出来
  6.                 Father = parent
  7.             }).SelectMany(a => a.Father.DefaultIfEmpty(), (last, parent) => new LeftJoinDatabeseController {
  8.             //给需要显示的字段赋值(LeftJoinDatabeseController 类需要自己创建,需要显示的字段是这个类的成员)
  9.             sid = last.user.sid,
  10.             Username = last.user.Username,
  11.             Fathername = parent.Fathername
  12.             });
  13.             //向前台输出
  14.             ViewBag.joinfdatabase = database.ToList();


评价

NET Core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

C out、rEF关键字的用法和区别

说说自己对out、ref的认识,面试问到的几率很高哟。out:classProgram { /* *out、ref都是引用传递,传递后使用都会改变...

Net Core使用EF之DB First

一.新建一个.net core的MVC项目新建好项目后,不能像以前一样直接在新建项中添加ef了,需要用命令在添加ef的依赖二.使用Nug...

EF6动态添加条件

例如我们要匹配一个集合中的所有关键字,我们首先想到的做法是这样的publicList<Article>GetArtByKeys(List<strin...

Net Core使用依赖注入来装载EF的上下文对象

妹子情人节快乐~.net core中用了不少的依赖注入,官方文档中也推荐使用。这样使用依赖注入来管理ef对象,还是比较科学,比如...

NET CORE配置EF连接字符串。windows验证的连接字符串配置

在appsettings.json中配置好连接字符串{"ConnectionStrings":{ "BloggingDatabase":"Server=(lo...

使用REFit框架访问REST接口

改装是一个类型安全的REST开源库,是一套基于RESTful架构的.NET客户端实现,内部使用HttpClient类封装,可通过改装更加简单...

docker启动报错 No dEFault Boot2Docker ISO found locally downloading the latest

这是因为,启动时如果检测到没有 Boot2Docker,就会去下载,这个下载过程出现网络连接上的错误了,导致启动失败。可以去下...

扩展EF自动映射需要查询的字段(表达式树Expression),动态构建返回值

Entity Framework 动态构造select表达式比如我们需要返回某些字段会采用如下的写法但是发现每次都去写select如果字段很多不...

layer弹窗+EF引入独立页面进行操作

使用layer弹窗进行操作的时候我们可以使用type=2,来把一个独立的页面指向content内容例如我们有一个表格,点击添加后,我...

Entity Framework常用查询,EF joinEF多表联查,原生sql。EF 多表查询。AsNoTracking

直接执行sql语句//全表查询 List<Users>ulist=se.Database.SqlQuery<Users>("select*fromusers").T...

EF Code First常用命令

Enable-Migrations启用数据库迁移Enable-Migrations –EnableAutomaticMigrations 启动自动迁移Add-Migration Name(名字可...

EF Code First 多对多关系配置

Code First配置多对多关系,常规有两种方法例如我们有一张学生表,和一张课程表,学生和课程是一个多对多的关系方法1:单纯...

解决:基础提供程序在 Open 上失败,EF无法生成实体问题

在学校图书馆的电脑上安装VS2013和SQL R2后,调试项目报错:基础提供程序在 Open 上失败怀疑是数据库的问题,然后删除数据...

net core过滤器。net core过滤器中获取依赖注入对象。net core过滤器中使用依赖注入。ServicEFilter 

虽然对象都可以直接实例化得到。但是所有的对象依赖关系,都用DI容器去管理,这样后面想要更换对象的时候也非常方便,项目...

EF状态System.Data.EntityState的一点理解

System.Data.EntityState一共有五种状态分别是Added,Deleted,Modified,UnChanged,Detached下面给一个简单的解释System.Data...