如何指定在Entity Framework中计算的属性?

时间:2014-04-03 08:43:30

标签: entity-framework

在Microsoft的示例中,他们通过仅提供没有mutator的访问者来隐式定义计算属性:

public string NormalProperty { get; set; }
public string CalculatedProperty
{
    get { return "foobar" + NormalProperty; }
}

我还希望在CalculatedProperty中有一个mutator,它会自动修剪" foobar"后缀并将结果分配回NormalProperty。

public string CalculatedProperty
{
    get { return "foobar" + NormalProperty; }
    set { NormalProperty = value.Substring(6); }
}

问题是,Entity Framework现在将CalculatedProperty视为普通属性,并创建一个名为" CalculatedProperty"的列。在数据库中。

我不想通过使用函数来解决这个问题。可以通过Attributes / Fluent API完成吗?我使用的是EF 6.1。

1 个答案:

答案 0 :(得分:0)

可以先在代码中的DataContext中完成

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{
   modelBuilder.Entity<Your_Class>().Ignore(x => x.CalculatedProperty); 
}