【问题标题】:C# Application EntityFramework CodeFirst and databaseC# 应用程序实体框架代码优先和数据库
【发布时间】:2013-07-18 18:12:30
【问题描述】:

我正在使用 EntityFramework 和 CodeFirst 模型开发 C# 应用程序。我想在每台机器和每个应用程序安装上都有一个本地数据库。我的意思是当用户 X 在他的机器上安装应用程序时,应用程序应该创建并使用本地数据库文件。我尝试使用 SQLite,但我没有运气在我的 app.config 中使用以下连接字符串和 dbFactory

<connectionStrings>
    <add name="FaceBotDb"
          connectionString=
"Data Source=|DataDirectory|FaceBotDb.sqlite"
          providerName="System.Data.SQLite" />
  </connectionStrings>
  <system.data>
    <DbProviderFactories>
      <add name="SQLite Data Provider"
            invariant="System.Data.SQLite"
            description="Data Provider for SQLite"
            type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
    </DbProviderFactories>
  </system.data>

我得到了“不变量必须是唯一的”排序的例外。我的主要问题是在这种情况下 SQLite 是否是我的最佳选择。是否有任何其他数据库可以使用 EntityFramework 并将其文件存储在本地。请注意,我可以将 SQLite 与纯 ADO.NET 一起使用,但这只有在我别无选择时才会发生,因为 EF 有很多好处。

【问题讨论】:

  • 我会使用 SQLCe,有 nuget 包可以帮助你安装它
  • 查理打败了我...... SQLCe 是更好的选择

标签: c# sql database entity-framework sqlite


【解决方案1】:

“Microsoft SQL Server Compact Edition”是 SQLite 的最佳替代品。它将文件存储在本地,几乎所有的 ORM 都支持它。

在您的项目中安装它的最佳方式是在http://nuget.org/packages/SqlServerCompact/ 使用 Nuget

【讨论】:

  • 谢谢你,感谢发布他们的 cmets 的人,这是非常有用的信息!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多