Entity Framework Core 2.0 Include SoftDeleted

我在ef2.0中使用了全局过滤builder.Entity<T>().HasQueryFilter(e => e.TenantId == _tenantId && !e.IsDeleted);

这样造成一个问题 在关联载入include时关联查询也将应用过滤条件,生成语句如下:

SELECT *
FROM `Message` AS `m`
INNER JOIN (
    SELECT *
    FROM `User` AS `u`
    WHERE (`u`.`IsDeleted` = 0) AND (`u`.`TenantId` = @___tenantId_0)
) AS `t` ON `m`.`SenderId` = `t`.`Id`
WHERE (`m`.`IsRead` = 0) AND (`m`.`ReceiverId` = @___mmsSession_UserId_0)

而我的初衷是关联查询不应该应用过滤条件,因为用户虽然删除了,但是Message显示的时候还是需要知道这个用户的

麻烦各位, 有什么好的处理方法吗?


守着一只汪
浏览 627回答 1
1回答

拉风的咖菲猫

可以在LINQ查询时使用.IgnoreQueryFilters(),参考&nbsp;Disabling Filters
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL