EF to linq 左连接

如果连接的数据不存在用 null 表示,则可以左连接查询,但是如果数据类型为 int 则会出错。

var ng = (from g in _db.NET_NEWS_GROUP
join z in _db.NET_NEWS_GROUP_INFO on g.NET_NEWS_GROUP_ID equals z.NET_NEWS_GROUP_ID
into nglist
from n in nglist.DefaultIfEmpty()
select new
{
NET_NEWS_GROUP_ID = n.NET_NEWS_GROUP_ID,
NET_NEWS_ID = n.NET_NEWS_ID,
GROUP_NAME = n.NET_NEWS_GROUP.GROUP_NAME
}).ToList();

// 左连接查询 必须有主外间关系。

var ng = _db.NET_NEWS_GROUP.Include("NET_NEWS_GROUP_INFO")

如果没有主外键关系,又是INT 型 怎么办? 。。。

// 如果没有主外键关系,又是INT 型 怎么办, 想查询一下 外键的数量。

var ng = (from g in _db.NET_NEWS_GROUP select g).ToList();
var zl = (from g in _db.NET_NEWS_GROUP_INFO select g).ToList();

foreach (var item in ng)
{
item.INSERT_ID = zl.Where(z => z.NET_NEWS_GROUP_ID == item.NET_NEWS_GROUP_ID).Count().ToString();
}

原文地址:https://www.cnblogs.com/90nice/p/4136674.html