在Entity Framework 5.0中指定继承并在DB2上具有TPT配置之后,如何仅访问基本实体。目前,如果基础实体的查询在派生表中没有数据,则我的上下文返回0。我的课程是这样的:
public class Document {
public Header Header { get; set; }
public List<Transaction> Transactions { get; set; }
}
public class Header {
public int Id { get; set; }
}
public class Transaction {
public int Id { get; set; }
}
这将是我想要访问的基础,但我也有特殊情况,例如:
public class SpecialDocument {
public Header Header { get; set; }
public List<SpecialTransaction> Transactions { get; set; }
}
哪里
public class SpecialTransaction : Transaction {
public string ExtraField { get; set; }
}
ExtraField
位于另一个表中的地方。 (这当然是一个愚蠢的版本)当我尝试做的时候:
var myList = dbcontext.Transactions.Where(x => x.Id == someId).ToList()
如果SpecialTransaction
表中没有现有记录,则返回0结果。当然,我希望能够在任何给定点返回Document
类型或SpecialDocument
类型,因为Transaction
表和SpecialTransaction
表可以有1到1 0关系。它似乎适用于SQL Express但不适用于DB2(抛出BOOLEAN未定义错误)