2

我编写了一个 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 添加TestObjectItemList<TestObjectItem>. 当我检索 时TestObjectWithObjectListList<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>. 当我检索 时TestObjectWithInterfaceListList<ITestObjectItem>计数为 0。

是否可以让上述代码与 a 一起使用List<ITestObjectItem>?我想要做的是能够向 中添加许多对象List<ITestObjectItem>,并且能够通过获取TestObjectWithInterfaceList对象来检索它们。

提前致谢

4

0 回答 0