我在项目中使用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的新手。
答案 0 :(得分:2)
您需要在EntityXXX上放置虚拟导航属性
public virtual EntityYYY YYY { get; set; }
然后你可以做一个投影:
db.XXXSet
.Select(x => new { x.XXXName, YYYName = x.YYY.YYYName })
.ToList();
这将为您提供所需的列表。