2016-05-30 49 views
0

如何使用Entity Framework创建计算字段?实体框架创建计算(未映射)的字段?

我首先在数据库中使用了Entiry Framowork 6。假设我有一个具有id,name,initialQuantity和en finalQuantity的实体。 finalQuantity总是比我的初始数量多5%。我不想在may数据库中坚持这个字段。我不想映射它,但我想要实体中的属性。

我该怎么做。我是否需要将此属性添加到我的edmx文件中?我是否需要创建继承,部分类?

此外,进一步阅读后似乎我不能创建一个根本没有映射的实体。好的,那有什么选择?我可以创建一个映射到未映射的字段的实体吗?

回答

0

使用[NotMapped]数据注释:

using System.ComponentModel.DataAnnotations; 
public class MyEntity 
{ 
    public MyEntity() 
    { 
    } 

    [Key] 
    public int Id { get; set; } 
    public decimal initialQuantity { get; set; } 

    [NotMapped] 
    public decimal finalQuantity => initialQuantity*1.05m; 
} 

如果你不想你的映射实体,不把它放在你的DbContext类。

+0

在澄清之前开始回答,首先是数据库。我的例子首先应用于代码。 – MarcinS