我需要做一个包含。 我有以下课程
public class TestRoot
{
public int TestRootId { get; set; }
public TestBase TestBase { get; set; }
}
public abstract class TestBase
{
public int TestId { get; set; }
public string Name { get; set; }
public User User { get; set; }
}
public class TestA : TestBase
{
public Item Item { get; set; }
}
public class TestB : TestBase
{
public Address Address { get; set; }
}
我怎样才能做到这一点? 我尝试了几种方法,但都不起作用。
context.TestRoot.Include(i => i.TestBase)
.Include(i => i.TestBase.User)
.Include(i => i.TestBase.Item)
.Include(i => i.TestBase.Address)
.FirstOrDefaultAsync(f => f.TestRootId == 1)
context.TestRoot.Include(i => i.TestBase)
.Include(i => i.TestBase.User)
.Include(i => (i.TestBase as TestA).Item) // Error
.Include(i => (i.TestBase as TestA).Address) // Error
.FirstOrDefaultAsync(f => f.TestRootId == 1)
context.TestRoot.Include(i => i.TestBase)
.Include(i => i.TestBase.User)
.Include("TestBase.Item") // Error
.Include("TestBase.Address") // Error
.FirstOrDefaultAsync(f => f.TestRootId == 1)
错误: 指定的包含路径无效。 EntityType 'TestBase' 未声明名为 'Item' 的导航属性