Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不支持视图列类型-实体框架_C#_Entity Framework_Sqlite_View - Fatal编程技术网

C# 不支持视图列类型-实体框架

C# 不支持视图列类型-实体框架,c#,entity-framework,sqlite,view,C#,Entity Framework,Sqlite,View,更新:这现在是System.Data.Sqlite.org的记录单 在我的SQLite数据库中有类似的视图 SELECT * FROM ( SELECT * FROM ( SELECT fc.FilterCommandId, fc.ProcedureId, 1 AS IsDynamic, substr(fc.DataType, 1, 20) || fc.Sequence AS Filter, fc.ObjectName F

更新:这现在是System.Data.Sqlite.org的记录单

在我的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,例如IsDynamic
),以及直接从表中获取的值(
fc.ObjectName
),尽管这是为
UNION
查询的第二部分提供的
NULL
值)

这将导致列未映射到视图。我希望这个视图是只读的,所以我不担心更新。但是我希望这些列可以用于应用程序


有没有人遇到过这个问题,或者有解决问题的想法?

我也有同样的问题。在我的例子中,我观察到直接从表中获取的列是可以导入的。只有属于SQLITE表达式的列(包括使用'AS'关键字公开的文本值)才有问题。此外,即使尝试使用SQLITE中的CAST(…AS)函数强制表达式的数据类型,也会发生这种情况。有人找到了这个问题的原因/解决方案吗?这里也有同样的问题,我读到sqlite使用动态类型,实体框架不喜欢这样。但是我没有找到解决这个问题的办法。