2 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
問(wèn)題在Expression.NotEqual這里:
var parameter = Expression.Parameter(entity.ClrType, "e");
var body = Expression.NotEqual(
Expression.Call(typeof(EF), nameof(EF.Property), new[] { typeof(DateTime?) }, parameter, Expression.Constant("DeletedAt")),
Expression.Constant(null));
modelBuilder.Entity(entity.ClrType).HasQueryFilter(Expression.Lambda(body, parameter));
當(dāng)前所做的是設(shè)置一個(gè)類(lèi)似于此(偽代碼)的全局查詢過(guò)濾器(即應(yīng)用于所有查詢的附加條件):
e => e.DeletedAt != null
這將返回所有軟刪除記錄(在你的情況下沒(méi)有),而我想這個(gè)想法是返回非軟刪除記錄,即
e => e.DeletedAt == null
所以只需更改Expression.NotEqual為Expression.Equal,問(wèn)題就會(huì)得到解決。

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
您需要?jiǎng)?chuàng)建一個(gè)查詢以從您的上下文中獲取特定信息。
使用上下文創(chuàng)建對(duì)表的查詢。
例如。
var query = context.Students .where(s => s.StudentName == "Bill") .FirstOrDefault<Student>();
查詢.tolist()
- 2 回答
- 0 關(guān)注
- 182 瀏覽
添加回答
舉報(bào)