更新:现在这是一张System.Data.Sqlite.org的票证。 Link
我的SQLite数据库中有类似的视图
SELECT * FROM (
SELECT * FROM (
SELECT fc.FilterCommandId, fc.ProcedureId, 1 AS IsDynamic,
substr(fc.DataType, 1, 20) || fc.Sequence AS Filter, fc.ObjectName
FROM ((FilterCommands fc INNER JOIN DynamicFilterCommands dfc
ON fc.FilterCommandId = dfc.FilterCommandId)
INNER JOIN DynamicFilterCommandFields dfcf
ON dfc.DynamicFilterCommandId = dfcf.DynamicFilterCommandId)
INNER JOIN ProcedureFilterKeys pfk ON fc.ProcedureId = pfk.ProcedureId
GROUP BY fc.FilterCommandId, fc.ProcedureId, 1,
substr(fc.datatype, 1, 20) || fc.Sequence, fc.ObjectName
ORDER BY fc.SortOrder
) AS sq
UNION
SELECT fc.FilterCommandId, fc.ProcedureId, 0, substr(fc.datatype, 1, 20) || fc.Sequence,
NULL
FROM FilterCommands fc INNER JOIN StaticFilterCommands sfc
ON fc.FilterCommandId = sfc.FilterCommandId
)
我遇到的问题是映射EF中的所有列。我收到了几个列的错误代码6005(目标实体框架版本目前不支持数据类型')。它似乎影响视图中提供的文字值(例如1 AS IsDynamic
),以及直接从表格fc.ObjectName
获取的值,尽管第二部分提供的值为NULL
UNION
查询)
这会导致列未映射到视图。我希望这个视图是只读的,所以我不担心更新。但我希望这些列可用于该应用程序。
有没有人遇到过这个问题,或者有关于修复的想法?