在LINQ to Entities中添加更多属性

时间:2014-06-21 11:38:05

标签: c# linq entity-framework

我有一个拥有大约20个字段的庞大实体(Record)。其中一个是StatusID,它映射到Status表。我想拉出状态并在UI中显示每条记录。为此,我可以

  1. 创建自定义模型,编写带连接的LINQ并将所有必需属性映射到自定义模型

  2. 在记录模型中添加其他属性,在获取记录后,循环每条记录,获取状态并更新

  3. 我也不满意。因为它包含很多开销,无论是性能还是内存/维护。有没有更好的办法?我正在寻找像

    这样的东西
    from x in db.Records inner join y in db.Status on x.StatusID equals y.StatusID select (x, y.Status) as x
    

1 个答案:

答案 0 :(得分:1)

假设在数据库中设置了外键,您可以使用LINQ Include运算符为您检索的每个Status实体填充Record导航属性:

using System.Data.Entity;

// ...

var records = db.Records.Include(x => x.Status);

然后,在您的用户界面中,您可以绑定到Status.Name