Entity framework 环境足迹摘要栏

Entity framework 环境足迹摘要栏,entity-framework,aggregate-functions,aggregate,summary,Entity Framework,Aggregate Functions,Aggregate,Summary,是否可以根据数据库中EF生成的类中另一个属性(列)的LINQ添加摘要属性(无数据库列),并且当从数据库更新模型时,此属性不更新(从类中删除或删除)(因为此属性(cloumn)不在数据库上)是的,它是。实体框架生成的被归类为实体的始终标记为partial。它允许您使用自己的属性或方法扩展功能 假设您的实体类名为Post。您可以使用如下代码对其进行扩展: public partial class Post { public int Average { get

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

是的,它是。实体框架生成的被归类为实体的始终标记为
partial
。它允许您使用自己的属性或方法扩展功能

假设您的实体类名为
Post
。您可以使用如下代码对其进行扩展:

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

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

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

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