Nic*_*ick 1 c# linq linq-to-sql c#-4.0
我试图找到最有效的方法来获取LINQ中连接表中的最新记录.
此查询可能会处理数千条记录,因此我不想执行子查询.
我需要来自项目的所有内容,但只需要来自"Notes"表的最新日期,其字段名称为SubmittedDate.
var items = (from t1 in db.Items
from t2
in db.Notes
.Where(o => (t1.Item_ID == o.Item_ID))
select new ItemModel
{
Name = t1.Name,
MostRecentUpdate = t2.SubmittedDate <== Need max value in model
});
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
看起来你可能只想要一个团体加入:
var items = from t1 in db.Items
join t2 in db.Notes on t1.Item_ID equals t2.Item_ID into notes
select new ItemModel
{
Name = t1.Name,
MostRecentUpdate = notes.Max(x => (DateTime?) x.SubmittedDate)
};
Run Code Online (Sandbox Code Playgroud)
MostRecentUpdate
如果匹配Notes
行中没有非空日期,则现在应为null .至少,这就是LINQ to Objects的行为,所以手指越过抽象持有......
归档时间: |
|
查看次数: |
1755 次 |
最近记录: |