2

C# MVC5 インターネット アプリケーションをコーディングしましたが、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>ます。TestObjectWithObjectListDbSet にa を追加すると、 にも 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>ます。TestObjectWithInterfaceListを DbSet に追加すると、(インターフェイスを実装する) も に追加されTestInterfaceObjectItemます。を取得すると、のカウントは 0 です。ITestObjectItemList<ITestObjectItem>TestObjectWithInterfaceListList<ITestObjectItem>

上記のコードを で動作させることは可能List<ITestObjectItem>ですか? 私がやりたいことは、多くのオブジェクトを に追加し、オブジェクトList<ITestObjectItem>を取得するだけでそれらを取得できるようにすることTestObjectWithInterfaceListです。

前もって感謝します

4

0 に答える 0