我已经阅读了实体框架核心中缺乏视图支持的内容。但我想知道最好的方法是什么?
我似乎找到了一些解决方法。 就像将实体类作为视图的表格一样,但这将导致手动工作将其移除,包括在迁移中。
这似乎是一种避免迁移添加它们的方法:
SELECT a.uid, a.pqid, a.rqid
FROM some_table a
INNER JOIN
(
SELECT DISTINCT uid, pqid, rqid, SUBSTRING_INDEX(SUBSTRING_INDEX(rqid, ',', hundreds.acnt * 100 + tens.acnt * 10 + units.acnt + 1), ',', -1) as a_rqid
FROM some_table
CROSS JOIN
(
SELECT 1 acnt UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0
) units
CROSS JOIN
(
SELECT 1 acnt UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0
) tens
CROSS JOIN
(
SELECT 1 acnt UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0
) hundreds
) sub0
ON a.uid = sub0.uid
AND FIND_IN_SET(sub0.a_rqid, a.pqid)
INNER JOIN
(
SELECT DISTINCT uid, pqid, rqid, SUBSTRING_INDEX(SUBSTRING_INDEX(rqid, ',', hundreds.acnt * 100 + tens.acnt * 10 + units.acnt + 1), ',', -1) as a_rqid
FROM some_table
CROSS JOIN
(
SELECT 1 acnt UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0
) units
CROSS JOIN
(
SELECT 1 acnt UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0
) tens
CROSS JOIN
(
SELECT 1 acnt UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0
) hundreds
) sub1
ON a.uid = sub1.uid
GROUP BY a.uid, a.pqid, a.rqid
HAVING COUNT(DISTINCT sub0.a_rqid) = COUNT(DISTINCT sub1.a_rqid)
IsMigration变量应该是dbcontext set中的静态属性,默认为true,并且在startup.cs中,在配置方法中将其设置为false。
但这是处理它的最好方法吗?
是否支持EF Core中的观点?