【问题标题】:Entity Framework, No SQL server, What do I do?实体框架,没有 SQL 服务器,我该怎么办?
【发布时间】:2023-04-02 07:33:01
【问题描述】:

真的没有办法在不使用 SQL Server 的情况下使用共享访问非服务器驱动的数据库文件格式吗? Entity Framework 很棒,直到我完全完成了数据库模型的设计,让 SQL Server Compact Edition 4.0 与 Visual Studio 一起工作,我才发现它基本上不能在网络驱动器上运行并被多个人使用用户。我很感激我应该做一些研究!

据我所知,唯一的其他方法是必须设置一个 SQL 服务器,我怀疑我能做到这一点。我正在寻找将它与 Access 数据库(可以在网络驱动器上共享)一起使用的可能方法,但这似乎很难或不可能。

我是否必须返回到类型化的 DataSet 甚至手动编写 SQL 代码?

另一种选择是尝试使用 SQL

【问题讨论】:

  • 共享访问,非服务器 - 听起来很像 MS Access - 以及所有令人讨厌的错误和问题,我们已经把头发拉出来......如果你 共享 数据 - 为什么不能只设置一个小型服务器?似乎是最好和最合乎逻辑的选择... SQL Server Express 是免费的,2008 R2 有 10 GB 的大小限制 - 为大量应用程序提供充足的空间。
  • 我在一家公司工作,这些东西不是那么容易获得的。

标签: sql-server entity-framework


【解决方案1】:

安装 SQL Server Express。 EF 根本不支持 Access,我对基于文件的数据库(Access、SQL Server CE)的经验主要是:

  • 如果您需要一些非常小的大部分只读数据来持久保存在数据库中,您可以使用它们(适用于代码表,但同时此类数据可以简单地存储在 XML 中)。
  • 如果您预计会有一些并发流量并且经常写入 DB + 更大的数据集,那么它们的性能和可用性会迅速下降。它们主要用于单用户的本地存储。

我不确定这与 SQLite 有什么关系。从模型为 SQLite you need special T4 template 生成数据库(使用正确的 SQL 语法)。

【讨论】:

    【解决方案2】:

    你试过 SQLite 吗?它有一个 SQL 提供程序,据我所知,EF 支持任何提供程序。由于它是基于文件的,这可能是一个合理的解决方案。它也是免费的。

    【讨论】:

    • 我现在尝试一下。是否可以在新的 SQLite 数据库上执行生成 SQL 代码(即从 Model 生成数据库)?
    • 请记住,我完全没有使用 SQLite + EF 的经验,只有数据库本身。它工作得很好,但让 EF 正常工作可能会出现问题。
    猜你喜欢
    • 2011-05-14
    • 2021-06-21
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 2022-07-25
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多