具有DataAnnotation [Table(“ Tablename”)]的类被另一个具有变量的类继承,但设置不起作用?

时间:2018-11-21 01:57:28

标签: c# mysql entity-framework data-annotations

使用课程:

DBContext:

public SDBContext() : base("name=SPDBContext")
        {
            this.Configuration.LazyLoadingEnabled = false;
        }
        public DbSet<Table1> table_1 { get; set; }

带有注释的类:

[Table("table_1")]
   public abstract class Table1
    {
        public int id { get; set; }
        public string name { get; set; }
        public DateTime? dt { get; set; }

    }

继承上述类的普通类:

public class InheritTable1 : Table1
    {
        public String Address { get; set; }
        public static DataTable GetTable1()
        {
            try
            {
                DataTable dt = new DataTable();
                SDBContext sdb = new SDBContext();
                var getData = sdb.table_1.ToList();
                dt.Merge(CollecTables.ToDataTable(getData));
                return dt;
            }
            catch (Exception er)
            {
                throw er;
            }
        }
    }

实施:

dataGridView1.DataSource = InheritTable1.GetTable1();

如果我删除这段代码:

public String Address { get; set; }

运行良好。

但是如果我使用public String Address { get; set; }

运行该代码

它返回错误:

  

Message =““字段列表”中的未知列“ Extent1.Address””

我知道这Extent1的意思是从Table1 Class阅读。为什么将其视为Table1而不是InheritTable1

我所知道的是: 继承抽象类的类可以随时添加方法,但我的问题是:

为什么不能使用它自己的变量(使用此类InheritTable1)来完成?

0 个答案:

没有答案