我正在使用Entity Framework Code-First创建一个应用程序,但是在遵循接口分离原则时,我遇到了EF的一些限制问题。
![UML中应用程序模型架构的一部分](https://istack.dev59.com/tBP9o.webp)
public interface IProduct
{
int Id { get; set; }
ICollection<IProcess> Processes { get; set; }
ICollection<ILine> Lines { get; set; }
String Description { get; set; }
String Number { get; set; }
String Name { get; set; }
}
问题在于“Processes”和“Lines”属性,因为它无法确定具体类型中的哪个类(我想是这样的)。
我知道我可以通过使用抽象类实现几乎相同的功能。我之所以没有这样做的原因是,我发现由于EF的限制而改变模型是不正确的。
有什么解决方法最好?是否有其他替代EF的方法,允许用接口作为导航属性。