Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架(代码优先)多对多LINQ查询形成_C#_Linq_Entity Framework - Fatal编程技术网

C# 实体框架(代码优先)多对多LINQ查询形成

C# 实体框架(代码优先)多对多LINQ查询形成,c#,linq,entity-framework,C#,Linq,Entity Framework,首先使用实体框架代码假设我有类: class Person { public Person() { Houses = new List<House>(); } public Guid PersonId { get; set; } public string Name { get; set; } public virtual List<House> Houses { get; set; } } public

首先使用实体框架代码假设我有类:

class Person
{
    public Person()
    {
        Houses = new List<House>();
    }
    public Guid PersonId { get; set; }
    public string Name { get; set; }

    public virtual List<House> Houses { get; set; }
}

public House
{
    public Guid HouseId { get; set; }
    public string Address { get; set; }
}
班级人员
{
公众人士()
{
房屋=新列表();
}
公共Guid PersonId{get;set;}
公共字符串名称{get;set;}
公共虚拟列表包含{get;set;}
}
酒店
{
公共Guid房屋ID{get;set;}
公共字符串地址{get;set;}
}
然后,我创建了一个只公开一个实体的上下文。然后我用多对多关系映射它们

public class PersonContext : DbContext
{
    public DbSet<Person> People { get; set; }


    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
       modelBuilder.Entity<Person>()
         .HasMany(p => p.Houses)
         .WithMany()
         .Map(m =>
         {
             m.ToTable("PeopleHouses");
             m.MapLeftKey("PersonId");
             m.MapRightKey("HouseId");
         }
    }
}
public类PersonContext:DbContext
{
公共数据库集人物{get;set;}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
modelBuilder.Entity()
.HasMany(p=>p.house)
.有很多
.Map(m=>
{
m、 ToTable(“居民住宅”);
m、 MapLeftKey(“人格”);
m、 MapRightKey(“房屋ID”);
}
}
}
当运行实体框架创建联接表时


我的问题是如何创建LINQ查询来检索属于一个人的房屋?(使用PersonId)

我看不出您的问题…它有一个导航属性

var houses = People.First(n => /* select your person */).Houses;

我看不出你的问题…它有一个导航属性

var houses = People.First(n => /* select your person */).Houses;

我看不出你的问题…它有一个导航属性

var houses = People.First(n => /* select your person */).Houses;

我看不出你的问题…它有一个导航属性

var houses = People.First(n => /* select your person */).Houses;