场景:
示例:
In the SQLite db I have:
CREATE TABLE [dr]
([ID] INTEGER PRIMARY KEY AUTOINCREMENT,
[CoalNum] INT,
[InputTime] DATE)
-------------
CREATE VIEW "J13" AS
SELECT
dr.ID,
date(dr.InputTime) as InputTime,
CAST (count(*) AS INT) as CoalNum
FROM dr
WHERE dr.InputTime >= "2010-01-13"
GROUP BY dr.ID, date(dr.InputTime)
当我更新edmx模型时,VS2010可识别" dr.ID",但它无法识别" InputTime"和" CoalNum"。错误消息是"不支持datetype"。
在sqlite3管理工作室,我查看了这个视图(" J13"),我找到了" InputTime"和" CoalNum" datetype为null
cid name type notnull dflt_value pk
------- ------------ ---------- ----------- -------------- ---
0 ID INTEGER 0 0
1 InputTime 0 0
2 CoalNum 0 0
所以我无法更新Entity Framework中的数据模型。希望在我大喊大叫之前,有人可以提供帮助或提供更多信息。 一个人有同样的问题,但我不知道他是否解决了这个问题。 https://forum.openoffice.org/en/forum/viewtopic.php?t=27214
答案 0 :(得分:0)
SQLite uses dynamic typing,因此计算列中没有数据类型。
实体框架假定所有列都具有已知类型;这与SQLite的架构不完全兼容。
您可以尝试一种解决方法:使用带有数据类型的假J13
表创建数据库,更新模型,然后在实体框架未查找时将数据库文件替换为真实数据库。