【发布时间】:2009-03-23 22:20:18
【问题描述】:
有人可以解释为什么存在以下 linq 查询...
(from e in db.Clients
let
log = (from f in db.CreditsafeLogs where f.Vat.Equals(e.VAT) orderby f.Sent descending select f).FirstOrDefault()
where
e.DeleteFlag.Equals("n") &&
e.Active == true &&
log != null &&
log.Approved == false
select e.Id)
编译,但在运行时中断应用程序(即使它从未被调用),虽然它是等效的
Clients
.Select (
e =>
new
{
e = e,
log = CreditsafeLogs
.Where (f => f.Vat.Equals (e.VAT))
.OrderByDescending (f => f.Sent)
.FirstOrDefault ()
}
)
.Where (
temp0 =>
(((temp0.e.DeleteFlag.Equals ("n") && (temp0.e.Active == (Boolean?)True)) &&
(temp0.log != null)
) &&
(temp0.log.Approved == False)
)
)
.Select (temp0 => temp0.e.Id)
工作正常吗??
【问题讨论】:
标签: linq-to-sql