5

我很难将 SQLite db 与 EF CTP5 一起使用。我只是想用 SQLite执行这个MSDN 示例。但在一线

var food = db.Categories.Find("FOOD");

我得到一个运行时异常:

System.Data.SQLite.SQLiteException(0x80004005):SQLite 错误没有这样的表:类别

注意:app.config文件需要修改,内容如下:

应用程序配置

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
  </startup>
  <runtime>
    <generatePublisherEvidence enabled="false" />
  </runtime>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite"
           description=".Net Framework Data Provider for SQLite"
           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    </DbProviderFactories>
  </system.data>
  <connectionStrings>
    <add name="ProductContext" connectionString="Data Source=D:\CodeFirst.db;Version=3;New=True;" providerName="System.Data.SQLite" />
  </connectionStrings>
</configuration>
4

4 回答 4

4

在我看来,当前的 SQLite.net 首先不支持实体框架 CTP5 代码。将不得不等待这种情况发生。

于 2011-02-13T15:10:32.190 回答
3

System.Data.SQLite 目前不提供 CreateDatabase() 和 DeleteDataase() 动态数据库创建。至少,这个论坛帖子大约一个月没有得到答复。
我们已经提供了动态数据库创建和 CTP 5 支持,并计划很快在dotConnect for SQLite中发布有关 CTP 5 支持的博客。
更新CTP 5 文章可用。它包含一些关于数据库创建特性的注释,以及说明 CTP 5 用法的示例。

于 2011-02-11T14:58:42.300 回答
0

你可以看到这个:

http://www.devart.com/blogs/dotconnect/index.php/entity-framework-code-first-support-for-oracle-mysql-postgresql-and-sqlite.html

于 2011-08-14T20:38:27.857 回答
0

添加

Database.SetInitializer<MyDataContext>(null);

为我工作。我EF5首先使用代码Sqlite

于 2013-01-03T21:06:02.490 回答