实体框架:后缀为“1”的属性

时间:2017-07-31 11:07:38

标签: c# entity-framework entity-framework-6

我的Code First项目中有以下架构:

public class MyModel {
    public ModelType MType {get;set;}
    public string PropA {get;set;}
    public string PropB {get;set;}
    public string PropC {get;set;}
}

public class MyFirstObj : MyModel
{
    public ModelType MType {get;set;} = 1
    [Required]
    public string PropC {get;set;}
}

public class MyOtherObj : MyModel, IHasPropAB
{
    public ModelType MType {get;set;} = 2
    [Required]
    public string PropA {get;set;}
    [Required]
    public string PropB {get;set;}

    public string PropC {get { return "[${PropA} {PropB}]"}}
}

这按预期工作,我在数据库中有所有3个字段(PropA,PropB,PropC)。但是如果我添加一个新的定义:

public class MyOtherObj2 : MyModel, IHasPropAB
{
    public ModelType MType {get;set;} = 3
    [Required]
    public string PropA {get;set;}
    [Required]
    public string PropB { get; set;}

    public string PropC {get { return "[${PropA} {PropB}]"}}
}

EF生成器在数据库中设置新字段,它在PropA和PropB旁边创建PropA1和PropB1。为什么不同?如何正确映射所有字段?

0 个答案:

没有答案