首页 新闻 搜索 专区 学院

EF Core 3.1 使用 Table Splitting 的问题

-1
悬赏园豆:50 [待解决问题]

将 EF Core 从 3.0 升级至 3.1 后发现一个问题,原先使用 Table Splitting 的地方竟然生成了让人啼笑生非的 JOIN 同一张表的 SQL 语句:

SELECT TOP(1) [b].[Title]
FROM [blog_Config] AS [b]
INNER JOIN [blog_Config] AS [b0] ON [b].[BlogID] = [b0].[BlogID]
WHERE ([b].[UseEditor] IS NOT NULL AND ([b].[BlogID] = @__blogId_0)

请问如何避开这个坑?

dudu的主页 dudu | 高人七级 | 园豆:38831
提问于:2019-12-06 17:46
< >
分享
所有回答(1)
0

不要使用 Table Splitting,3.0 之后会导致生成的查询出现各种不必要的 Join。

在数据库里创建表别名,然后在 EF 里为这两个实体配置不同的表,“骗过” EF。

或者试试再建一个不同的 DbContext。

沈星繁 | 园豆:990 (小虾三级) | 2019-12-09 16:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册