LinqToDB.linqtodbeexception表达式不是一个关联 &g



嗨,我想在下面加载一个像这样的属性值。

var date = db.GetTable<bbb>().Where(x => idList.Contains(x.MID))
.Select(x => x.ModifiedDate).FirstOrDefault;
var test = db.GetTable<nnn>().Where(x => xguy.Distinct().Contains(x.SID))
.LoadWith(x => x.Modified == lastPostDate);

异常:

LinqToDB。linqtodbexcexception: 'Expression '(x.Modified == value(vv.x+<>c__DisplayClass25_1). lastpostdate)'不是关联'

我该怎么做?

我使用了FirstOrDefault选项来获得一个值,但是我不理解表达式不是一个关联。

你对"LoadWith"方法是可疑的。

LoadWith是一个专门的函数,用于加载额外的表数据,这些数据被链接(例如通过外键)到当前表行。

根据你的用法,看起来你只是想设置另一个"Where"子句,所以不用

.LoadWith(x => x.Modified == lastPostDate);

你想要

.Where(x => x.Modified == lastPostDate);

或者,将其与之前的Where语句组合以简化操作:

var test = db.GetTable<nnn>().Where(x => x.Modified == lastPostDate &&
xguy.Distinct().Contains(x.SID));

如果这不是你想要的,请告诉我。如果是这种情况,也许你有一个SQL语句或类似的,你现在正试图转换为c# LINQ,或者可以用简单的英语解释这个语句的目的是什么?

最新更新