首先在EF 6数据库中计算属性

本文关键字:计算 属性 数据库 EF | 更新日期: 2023-09-27 18:10:56

当我这样做的时候

public string RequestIDFormated { get; set; }

我在输出中看到名称requestidformatting为空值;

当我把它替换为

[DatabaseGenerated(DatabaseGeneratedOption.Computed)]

[global::System.Runtime.Serialization.DataMemberAttribute()] 

    public string RequestIDFormated
    {
        get
        {
            return RecordCreateDatetime.Year.ToString();
        }
        private set { /* needed for EF */ }
    }

它甚至没有显示在输出中我使用的是EF 6.1.3

首先在EF 6数据库中计算属性

如果您使用代码优先,您可以创建一个NotMapped属性来返回值的连接。这样的:

[NotMapped]
public string SomeProperty 
{
   get { return Property1 + Property2; } 
}

但是,您正在使用数据库优先,所以我认为更好的方法是使用包含您的属性的partial class(它必须在与生成部分相同的名称空间和程序集中)。这样的:

public partial class YourEntntiy
{
     public string MyNewProperty { get { return Property1 + Property2; } }
}