我有一个从数据库表生成的实体。然后我使用分部类添加属性。 这个新属性是一对多关系的“描述”部分。 问题是这些实体集具有无数和四个属性。
我通常使用类似的东西:
db.entity.Select(e => e)
但在这种情况下,因为NEW属性不是表的一部分,所以它变为空或空。
我知道我可以这样做:
db.entity.Select(e => new entityType { field1 = e.field1, field2 = e.field2, etc….})
但正如之前所说的那样......一个无数的财产。
我的问题是:
有一些优雅的方法来分配新属性的值,让Linq填补其余的属性吗?
类似的东西:
db.entity.Select(e => new entityType { *= e.*, newfield = e.relation.desc})
当然,这不起作用,但这是主意。
谢谢!
埃德加。
答案 0 :(得分:1)
这是我经常使用的方法。
public partial class EntityName
{
public string NewProp
{
get {return this.relation.Desc;}
}
}
然后在linq查询中我会做一个包含以确保相关属性出现,并且由于延迟加载我没有得到选择n + 1.
db.entity.Select(e => e).Include(x => x.relation);