首页 > 代码库 > EF join
EF join
两张表:
var query = db.Categories // 第一张表 .Join(db.CategoryMaps, // 第二张表 c => c.CategoryId, // 主键 cm => cm.ChildCategoryId, // 外键 (c, cm) => new { Category = c, CategoryMap = cm }) // 关联后的结果对象集 .Select(x => x.Category); // select 查询结果集
多张表:
var fullEntries = dbContext.tbl_EntryPoint //第一张表 .Join( dbContext.tbl_Entry, //第二张表 entryPoint => entryPoint.EID, entry => entry.EID, (entryPoint, entry) => new { entryPoint, entry } ) .Join( dbContext.tbl_Title, //第三张表 combinedEntry => combinedEntry.entry.TID, title => title.TID, (combinedEntry, title) => new { UID = combinedEntry.entry.OwnerUID, TID = combinedEntry.entry.TID, EID = combinedEntry.entryPoint.EID, Title = title.Title } ) .Where(fullEntry => fullEntry.UID == user.UID) .OrderBy(p=>p.UID) .Take(10);
优点:coding方便
缺点:join多张表的情景,代码冗长
替代方法:创建数据库视图,对视图进行EF查询
EF join
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。