我正在使用具有自定义服务器端功能的 Linq2db:
[Sql.Function(Name = "UniqueValue", ServerSideOnly = true)]
public static int? UniqueValue( Expression<Func<ModelClass, string>> arg) {
throw new NotSupportedException();
}
然后我尝试在带有分组的 linq 查询中使用它:
var query = from a in context.data
group a by a.field1 into newgroup
select new {final = UniqueValue(row => row.field2) };
然后我得到“row => row.field2' 不能转换为 SQL。” 运行时出错。
我使用 SqlLite 作为数据库,这是自定义函数:
[SQLiteFunction(Name = "UniqueValue", Arguments = 1, FuncType = FunctionType.Aggregate)]
public class UniqueValue : SQLiteFunction {
public override void Step(object[] args, int stepNumber, ref object contextData) {
}
public override object Final(object contextData) {
return null;
}
}
有谁知道如何使自定义服务器端功能与分组一起使用?