【发布时间】:2017-07-10 14:19:27
【问题描述】:
我在 EF 代码方面遇到了一个令人讨厌的问题,我需要一些帮助。我有一个Student,它继承自Person。学生可以有像Worker 这样的朋友,它们也继承自人。
class Person
{
public int Id { get; set; }
//...
}
class Student : Person
{
public virtual List<Person> Friends { get; set; }
//...
}
class Worker : Person
{
//there are other classes like this one
}
这是我尝试将实体写入我的 sqlite DB 时遇到的异常:
元数据集合中不存在身份为“PersonSelf”的成员。
如果我将列表更改为 Worker,它可以正常工作,但不能与 Person 一起使用。
我可以改变什么来解决这个问题?感谢您的帮助。
【问题讨论】:
-
在表上使用触发器时,通过谷歌搜索会发现类似的问题。你有触发器吗?
-
我搜索了很多,确实发现了一些类似的问题,但不幸的是不完全是多态性的问题。据我所知,我没有使用触发器......
-
您能否提供有关您的表如何实现层次结构的更多详细信息? TPH 还是 TPC?既然 Friends 是 n:m 关系,你有表吗?
标签: c# sqlite ef-code-first polymorphism