[英]How do I translate this SQL query to Lambda or LINQ that uses (where is null)
[英]How do I translate a linq query to an extension method chain with lambda expressions?
我正在使用LINQ to Entities,我想知道如何使用擴展方法將以下查詢轉換為lambda表達式。
public _Deposito RegresaDepositosBancarios(int id)
{
return (from d in context.depositos_bancarios
where d.IDDeposito == id
select new _Deposito
{
idDeposito = d.IDDeposito,
cantidad = d.Monto,
fecha = d.FechaDeposito,
aplicado = d.Aplicado
}).Single();
}
請注意,我正在返回_Deposito類型,如何使用擴展方法實現此目的?
我需要以下內容:
public Persona RegresaPersonaPorNombres(string nombres, string apellidoP, string apellidoM)
{
var p = context.personas.Where(x => x.Nombres == nombres &&
x.ApellidoP == apellidoP &&
x.ApellidoM == apellidoM).FirstOrDefault();
return p;
}
我不想返回實體類型,而是返回自定義類型
這就是使用擴展方法編寫的方式,但是您實際上不必擔心,因為它們都是同一件事。
return context.depositos_bancarios
.Where(d=>d.IDDeposito == id)
.Select(d=>new _Deposito
{
idDeposito = d.IDDeposito,
cantidad = d.Monto,
fecha = d.FechaDeposito,
aplicado = d.Aplicado
})
.Single();
一個有趣的旁注:我本可以在Where
使用d=>
,然后在Select
使用e=>
。 而d在整個詞組中向下傳播。 重置它的唯一方法是使用let短語 。 這與直接問題無關,但我只是認為這很有趣,並想指出一點:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.