【发布时间】:2016-08-14 10:05:21
【问题描述】:
我正在研究一个有两个类的模型,Product 和 Transaction。
public class Product
{
[DataMember]
public Guid ProductId {get; set;}
[DataMember]
public virtual ICollection<Transaction> Transactions { get; set; }
}
public class Transaction
{
[DataMember]
public Guid TransactionId {get; set;}
[DataMember]
public DateTimeOffset Date { get; set; }
[DataMember]
public String Customer { get; set; }
}
如何进行查询以检索产品及其交易日期?我尝试了类似的东西
var product = db.Products.Include(p => p.Transactions.Select(t => new { t.Date })).Where(p => p.ProductId = productId);
但它会抛出异常:
包含路径表达式必须引用导航属性 在类型上定义。使用虚线路径进行参考导航 属性和用于集合导航的 Select 运算符 属性
编辑澄清:
我想要实现的实际上是不在加载Transaction 时加载TransactionId 和Customer。
【问题讨论】:
-
您不能“不加载”
TransactionId和Customer,因为它们已经被加载,因为它们不是导航属性。即使你能做到这一点,你也不会从中获得任何好处......
标签: c# entity-framework linq-to-entities entity-framework-6