我编写了一个 C# MVC5 Internet 应用程序,想知道是否可以将接口与 EF6 一起使用,如果不能,我应该如何编写我的类。
这是我所拥有的有效方法:
public class TestObjectWithObjectList
{
[Key]
public int Id { get; set; }
public virtual List<TestObjectItem> items { get; set; }
public TestObjectWithObjectList()
{
items = new List<TestObjectItem>();
}
}
我有一个DbSet<TestObjectWithObjectList>. 当我将 a 添加TestObjectWithObjectList到 DbSet 时,我还将 a 添加TestObjectItem到List<TestObjectItem>. 当我检索 时TestObjectWithObjectList,List<TestObjectItem>计数为 1。
这是相同的代码,但带有List<ITestObjectItem>:
public class TestObjectWithInterfaceList
{
[Key]
public int Id { get; set; }
public virtual List<ITestObjectItem> items { get; set; }
public TestObjectWithInterfaceList()
{
items = new List<ITestObjectItem>();
}
}
我有一个DbSet<TestObjectWithInterfaceList>. 当我将 a 添加TestObjectWithInterfaceList到 DbSet 时,我还将一个TestInterfaceObjectItem(实现ITestObjectItem接口的)添加到List<ITestObjectItem>. 当我检索 时TestObjectWithInterfaceList,List<ITestObjectItem>计数为 0。
是否可以让上述代码与 a 一起使用List<ITestObjectItem>?我想要做的是能够向 中添加许多对象List<ITestObjectItem>,并且能够通过获取TestObjectWithInterfaceList对象来检索它们。
提前致谢