我试图在VS 2012(.NET 4.5)下创建C#app,使用由EntityFramework 6.0管理的SqLite(也尝试了5.0)。
我的步骤如下:
从http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki安装sqlite-netFx45-setup-bundle-x86-2012-1.0.85.0.exe
安装VS2012的组件
创建C#项目
使用一个表创建简单的Sqlite DB,DDL遵循以下:
CREATE TABLE MyTable (
Id INT PRIMARY KEY,
Name1 TEXT,
Name2 VARCHAR,
Blob1 BLOB,
Date1 DATE,
Date2 DATETIME
);
现在应该生成代码,但不是我生成了以下消息:
数据类型' longchar'目前不支持该目标 .NET Framework版本;列'名称1'在表格中,主要是.MyTable' 被排除在外
数据类型'二进制'目标.NET Framework版本目前不支持;列< Blob1'在表格中,主要是.MyTable'被排除在外。
数据类型'日期'目标.NET Framework版本目前不支持;列'日期1'在表格中,主要是.MyTable'被排除在外。
数据类型'日期'目标.NET Framework版本目前不支持;列'日期2'在表格中,主要是.MyTable'被排除在外。
我对此感到非常惊讶,因为我已经使用EF + Sqlite,但使用其他提供程序(传统1.0.66.0),我对类型映射没有任何问题。
您在提到的Sqlite版本中遇到过类似的问题吗? 你知道一些解决这些问题的方法吗?
最好的问候。
答案 0 :(得分:0)
SqLite版本1.0.85.0似乎存在问题 但是,版本1.0.84.0有效。
如果可能,请在步骤1中使用版本84.
(顺便说一句,我刚检查了他们的网站 - 1.0.90.0已经出来了,你可能也想尝试一下)
附注:如果 MyTable 定义不只是一个示例,我建议使用 nvarchar 而不是 varchar 和 text < /强>