0
我想要對錶'Personen'和加入表'Leners'做一個linq查詢。
從表'Leners'我想最近的項目,如果可用。LINQ加入lambda與最新日期
在SQL我是這樣做的:
select p.*, l.*
from dbo.Personen p
left outer join dbo.Leners l on l.LenerId =
(select top 1 LenerId
from dbo.Leners lt
where lt.PersoonId = p.PersoonId
order by lt.Vanaf desc)
我如何能做到這一點的LINQ? 我想在lambda表達式中這樣做,因爲它取決於選擇。
using (var db = new DbContext())
{
var query = from p in db.Personen
select p;
if (someSelection != null)
{
query = ?
}
}
這些表:(EF代碼第一)
[Table("Personen")]
public class Persoon
{
[Key]
public int PersoonId { get; set; }
[StringLength(50)]
[Required]
public string Naam { get; set; }
}
[Table("Leners")]
public class Lener
{
public int LenerId { get; set; }
public int? PersoonId { get; set; }
[ForeignKey("PersoonId")]
public virtual Persoon Persoon { get; set; }
public DateTime Vanaf { get; set; }
}
如果我將一個Lener類型的額外屬性添加到Person(未映射到數據庫),是否可能? – r03
是的,這是可能的。 – MarcinJuraszek
我該怎麼做? (在lambda中) – r03