在不改变数据库的情况下更改模型?

时间:2013-02-19 22:36:47

标签: c# entity-framework

我有一个用于填充数据库的模型

public class Account
{
    public int NumberOfPayPeriods { get { return 24; } }
    public decimal YearAmount { get; set; }
    public decimal PlanTotal
    {
        get { return NumberOfPayPeriods*YearAmount; }
    }
}

我需要将NumberOfPayPeriods属性从get更改为get; set;

但是,当我更改此内容时,我会收到EntityCommandExecutionException(列名无效)。我认为这是因为它试图将此映射到以前不存在此类列的数据库(因为它只是一个获取)。

有什么方法可以把它改成get; set;无需删除表格?那里有很多重要的数据,不能丢失或重新创建。

1 个答案:

答案 0 :(得分:3)

在您不想存储的属性上添加[NotMapped]属性。

public class Account
{
    [NotMapped]
    public int NumberOfPayPeriods { get { return 24; } set { ... } }
    public decimal YearAmount { get; set; }
    public decimal PlanTotal
    {
        get { return NumberOfPayPeriods*YearAmount; }
    }
}