首先在EF代码中为扩展模型类创建一个类

时间:2016-12-24 07:45:16

标签: entity-framework model-view-controller ef-code-first entity-framework-6 code-first

我有一个模型类,例如我的数据库中有3个属性和相应的表。

public partial class Person
{
    public string prop1 {set; get;}
    public string prop2 {set; get;}
    public string prop3 {set; get;}
}

现在我想要派生属性,例如使用prop1prop3创建:

prop4 = prop1 + prop3;

我想将Person扩展为prop4。我为Person创建了一个具有prop4的部分类:

public partial class Person
{
     public string prop4 {set; get;}
}

但是当我运行应用程序时出现了这个错误:

  

无效的列名'prop4'

我改变了上面的类:

public class PersonViewModel : Person
{
    public string prop4 { get; set; }
}
  

无效的列名称'Discriminator'。\ r \ n无效的列名称'Discriminator'。\ r \ n无效的列名称'Discriminator'。\ r \ n无效的列名'prop4'

但如果我创建一个这样的类,那么每个人都认为没问题:

public class PersonViewModel
{
    public string prop1 {set; get;}
    public string prop2 {set; get;}
    public string prop3 {set; get;}
    public string prop4 {set; get;}
}

但是使用这个解决方案我应该重写ViewModel类中的所有属性。还有其他方法吗?

感谢

1 个答案:

答案 0 :(得分:2)

使用NotMapped属性或流畅的API忽略方法Ignoring a class property in Entity Framework 4.1 Code First