具有dataannotation[table(“tablename”)]的类被另一个具有变量get set的类继承不起作用?

oipij1gg  于 2021-06-19  发布在  Mysql
关注(0)|答案(0)|浏览(261)

与班级合作:
数据库上下文:

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 )?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题