我有3个继承自抽象类的类,所有这些类都使用Table Per Hierarchy方法在数据库中用一个表表示。
有一个名为' foo'由两个具体类共享,但不是由第三个类共享,因此它不包含在抽象类中。
代码首次迁移尝试为共享" foo"创建两列。财产,称他们为" foo"和" foo1"即使他们都被命名为" foo"在他们各自的班级。我编辑了要删除的迁移" foo1"所以只有一列名为" foo"在db。中创建。
我可以创建包含" foo"的类的实例。财产没有问题。但是,当我尝试保存并将它们保存到数据库时,我收到一条错误,说“#34;无效的列名foo1"即使完全没有提及" foo1"我项目中的任何地方。它就像Entity框架仍然坚持做迁移最初的任何逻辑,即使我在运行迁移和创建表之前更改了它。
所以我的问题是,如何在具体类中有两个相同的列,它们的父类不共享,只能在数据库表中用一列表示?
答案 0 :(得分:1)
通过使用POCO
中的列注释解决了这个问题string