【问题标题】:How to use Entity Framework 4.0 with Xml or in-memory Storage (non-SQL)如何将 Entity Framework 4.0 与 Xml 或内存存储(非 SQL)一起使用
【发布时间】:2010-10-25 17:44:59
【问题描述】:

如何为实体框架模型指定 Xml 或仅在内存中存储?连接字符串需要提供程序(通常是 SQL 提供程序字符串)。但它不会让我省略提供者。

我意识到我可以完全抛弃设计器生成的对象并使用纯 POCO,但是我必须实现我自己的序列化层(可以这样做,但对于我正在处理的小项目来说这有点过分了)。

EF 4.0 中是否有我缺少的内置支持,或者我只需要走纯 POCO 路线并完全放弃设计师体验:(

【问题讨论】:

  • 我也很想这样做,但还没有看到干净的方法。使用内存中的上下文,然后在需要时将所有内容写入数据文件。与使用“文件”来保存和重新加载数据的胖客户端应用程序一起使用,而 db 则太过分了。

标签: entity-framework entity-framework-4


【解决方案1】:

如果您想将数据存储在 Xml 或内存中,您可能不应该使用 EF。 EF 旨在与关系数据库一起使用。

另请参阅:Entity Framework with XML Files

要在内存中存储数据,请使用System.Runtime.Caching

要在 xml 文件中存储数据,请参阅:http://msdotnetsupport.blogspot.com/2007/04/reading-and-writing-xml-files-using-c.html

【讨论】:

  • 在我的例子中,概念模型总是关系型的,但后端存储可能是关系型的,也可能不是关系型的。根据具体的实现或连接,可能是 SQL,可能是 Xml,可能是自定义的平面文件,也可能只是内存中对象的临时集合。
  • 感谢您的链接...我会查看它们的。
  • 在这条路上走了一段时间之后,我认为你是对的...... EF并不适合。感谢您的建议。
  • 我想知道什么是合适的替代品?我厌倦了为此使用数据集......
【解决方案2】:

这是做你可能在想的事情的好方法。

使用 SQLite 数据库作为后备存储。这样你就可以得到一个本地文件,并且你仍然可以使用几乎所有的 EF。

http://dotnet.dzone.com/news/sqlite-entity-framework-4

【讨论】:

    猜你喜欢
    • 2011-06-22
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多