使用简单连接的实体框架查询

时间:2018-02-09 15:02:48

标签: c# entity-framework

我在项目中使用Entity Framework 6,但在创建查询时遇到了问题。

说我的课程定义如下:

public class MyContext : DbContext
{
    public MyContext(string connectionString) : base(connectionString)
    {
    }

    public DbSet<EntityXXX> XXXSet { get; set; }
    public DbSet<EntityYYY> YYYSet { get; set; }
}


public class EntityXXX
{
    public string XXXName { get; set; }
    public int id { get; set; }
    public int YYYid { get; set; }
}

public class EntityYYY
{
    public string YYYName { get; set; }
    public int id { get; set; }
}

YYYid的{​​{1}}属性是与其相关的EntityXXX实例的“id”。

我希望能够使用第一列为EntityYYY且第二列为XXXName(来自其相关的EntityYYY)的行填充网格,但我看不到该怎么做这个?

我确信这很简单,但我是EF的新手。

1 个答案:

答案 0 :(得分:2)

您需要在EntityXXX上放置虚拟导航属性

public virtual EntityYYY YYY { get; set; }

然后你可以做一个投影:

db.XXXSet
    .Select(x => new { x.XXXName, YYYName = x.YYY.YYYName })
    .ToList();

这将为您提供所需的列表。