【发布时间】:2010-08-24 16:25:07
【问题描述】:
当您的子记录通过 lambda 查询加载时,是否有人在使用 LINQ to SQL 加载关联时遇到问题?例如:
var orderLine = db.OrderLines.
Where(ol => ol.ID == orderLineID select ol).
First();
// navigate to order via the association
var order = orderLine.GetOrder();
我得到的基本上是 GetOrder() 的空结果。
但如果我这样做:
var orderLine = (from ol in db.OrderLines where ol.ID == orderLineID).First();
var order = orderLine.GetOrder();
工作正常。
是什么原因造成的?这是一个错误吗?
编辑:这是与 Lambda 表达式一起工作的实际代码,注释掉了它不工作
var msg = db.Messages.Where(m => m.ID == msgID).First(); 如果(msg.SentTS.HasValue)返回; // 获取消息接收者 // 我不明白.. 为什么 lambda 表达式在这里不起作用?返回 0 个结果! // var testtos = msg.GetMessageTos.Where(mt => mt.Active); var tos = 来自 db.MessagesTos 中的 mt 其中 mt.Active && mt.MessageID == msgID 选择山;【问题讨论】:
标签: c# linq-to-sql lambda