C# 在“选择LINQ到实体”中添加更多属性
我有一个巨大的实体(记录),大约有20个字段。其中一个是StatusID,它映射到状态表。我想为每条记录提取状态并显示在UI中。为此我可以C# 在“选择LINQ到实体”中添加更多属性,c#,linq,entity-framework,C#,Linq,Entity Framework,我有一个巨大的实体(记录),大约有20个字段。其中一个是StatusID,它映射到状态表。我想为每条记录提取状态并显示在UI中。为此我可以 创建自定义模型,编写带有连接的LINQ,并将所有必需的属性映射到自定义模型中 在记录模型中添加附加属性,获取记录后,循环每个记录,获取状态并更新 我对两者都不满意。因为它包括很多开销,无论是性能还是内存/维护。有更好的办法吗?我在找像这样的东西 from x in db.Records inner join y in db.Status on x.Statu
from x in db.Records inner join y in db.Status on x.StatusID equals y.StatusID select (x, y.Status) as x
假设在数据库中设置了外键,您可以使用LINQ
Include
操作符为您检索的每个记录
实体填充状态
导航属性:
using System.Data.Entity;
// ...
var records = db.Records.Include(x => x.Status);
然后,在您的UI中,您可以绑定到
Status.Name
您应该使用选项1,但是您可以详细说明开销、性能、内存等吗?返回(从db.Records.Include(“Status”)中的x选择x)。ToList();//这是有效的。@KrishnaSarma:您可以将其压缩为返回db.Records.Include(“Status”).ToList()代码>