2 maxwellno1 maxwellno1 于 2014.04.08 14:24 提问

ef6 codefirst 多对多关系如何在查询时包含实体的引用对象

例如有3个实体

public class A
{
    public string Id {get; set;}
    public List<B> BList {get; set;}
}

public class B
{
    public string Id {get; set;}
    [ForeignKey("CObj")]
    public string CId {get; set;}
    public C CObj {get; set;}

    public List<A> AList {get; set;}
}

public class C
{
    public string Id {get; set;}
    public string Desc {get; set;}
}

在查询时 我使用如下linq

using(var db = new MyContext())
{
    var linq = db.Set<A>().Include(e=>e.BList).Where(e=>e.Id == "exampleId").FirstOrDefault();
}

得到的实例A中的BList有内容,但是BList所有B实例的C属性是null。有没有办法能够把C对象也包含进来?有的话linq要怎么写?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Entity Framework使用建模之Code First 多对多
这个示例同时包含了一对多,如下4个类: 部门类    Department 员工类    Employee 项目类    Project 部门和员工是一对多关系 项目和员工是多对多关系 代码如下: 部门类: using System; using System.Collections.Generic; using System.Linq; using System.Text; us
MVC5多对多关系生成的中间表添加新字段
ASP.NET的MVC5的多对多关系在model层可以轻松表示出来,但也许你会碰到和我一样的问题,即我们需要在中间表添加字段来更方便我们的业务逻辑的实现或者说让我们的数据库设计显得更加合理。我们使用codefirst方式生成数据库可以以以下方式替换。 多对多关系的两张表所建的model类文件分别是Group.cs和Member.cs,其中间表生成的类文件为MemberGroup.cs。其代码如下
[C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例
本示例开发环境 操作系统:Windows 10 开发工具及版本:Visual Studio 2015 Update 1 .NET Framework版本:.NET Framework 4.6 程序输出方式:控制台应用程序 第一步、创建项目并引用程序包 1.1 创建项目 首先,我们创建一个控制台应用程序,取名为:EFRemoveManyToManyD
EF Codefirst 多对多关系 操作中间表的 增删改查(CRUD)
前言 此文章只是为了给新手程序员,和经验不多的程序员,在学习ef和lambada表达式的过程中可能遇到的问题。 本次使用订单表和员工表建立多对多关系。 首先是订单表: public class Order { public int OrderId { get; set; } public string OrderTitle {
数据库实体间多对多关系处理
数据库实体间多对多关系处理   数据库实体间有三种对应关系:一对一,一对多,多对多。 一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。 一对多关系示例:一个学生只属于一个班,但是一个学院有多名学生。 多对多关系示例:一个学生可以选择多门课,一门课也有多名学生。   这三种关系在数据库中逻辑结构处理分析:   1.一对多关系处理: 我们以学生和班级之
数据库关系 一对多/多对一/一对一/多对多 关系分析
MYSQL里面有如下的表 user:id username  photo:id name  photo_favour(图片收藏关系表):photo_id user_id 假设这几个表都相当大,需要进行分表。我的分表规则是: user表按照id取模,这样user相关的表都可以按照这个取模后的结果来分表; photo表按照id取模,同样与photo相关的表都可以按该规则分表;
hibernate多对多关系查询
用户sys_userinfo和角色sys_role,典型的多对多关系, 用户表:sys_userinfo 角色表:sys_role 关联表:rel_user_role 用户sysUserInfo: @Entity @Table(name = "SYS_USERINFO") public class SysUserinfo implements java.io.Serializabl
对象设计时如何选择“一对多”与“多对一”关系
对象设计时如何选择“一对多”与“多对一”关系 做面向对象设计的时候,我们常常面对这样一个问题。当对象之间存在一对多关系的时候,在物理设计的时候应该选择一对多关系还是多对一关系?举例来说,假设有一个订单对象,每个订单对象对应多个订单条目。这个时候我们在设计的时候有两中选择,一种是在订单对象中加入一个订单条目集合,另外一种方法是在订单条目中引用订单对象。分别对应以下两种设计。 最简单一种方法是
数据库实体间一对多(多对一)、多对多关系处理
原文:http://www.cnblogs.com/langtianya/archive/2013/03/11/2954832.html数据库实体间有三种对应关系:一对一,一对多,多对多。一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。一对多关系示例:一个学生只属于一个班,但是一个班级有多名学生。多对多关系示例:一个学生可以选择多门课,一门课也有多名学生。这三种关系在...
四、对于多对多关系的对象,如何建表
(一)背景介绍   在数据库中建表时,很容易遇到一种情况:一个学生选修了多门课,而每门课有多名学生选修,“学生”和“课程”之间就是典型的多对多关系。 (二)如何建表   遇到这种多对多关系,我们一般是创建三张表:Student(学生表)、Course(课程表)和选课表(id、student_id、course_id)...