关于EF的摘要专栏

时间:2013-03-10 06:18:46

标签: entity-framework aggregate-functions aggregate summary

是否可以根据来自数据库的EF生成类中的另一个属性(列)的LINQ添加摘要属性(无数据库列),并且当从数据库更新模型时,此属性不会更新(从类中删除或删除)(因为此属性(cloumn)不在数据库中)

2 个答案:

答案 0 :(得分:0)

是的,确实如此。实体框架作为Entitied生成的Classed始终标记为partial。它允许您使用自己的属性或方法扩展功能。

假设您的实体类名为Post。您可以使用以下代码扩展它:

public partial class Post
{
    public int Average
    {
        get
        {
            return this.Items.Average();
        }
    }
}

因为它不是设计器生成的文件的一部分,所以当它重新生成时不会被覆盖。但是,有一个要求使其工作:Post类的自定义部分必须与EF生成的代码完全相同。

答案 1 :(得分:0)

尝试在[NotMapped]中的属性上使用partial class属性。实体框架将忽略这一点。

public partial class EntityName
{
    [NotMapped]
    public int CalculatedProperty
    { 
        get 
        {
            return Numbers.Sum();
        }
    }
}