【问题标题】:Simple .NET file system persistence?简单的 .NET 文件系统持久性?
【发布时间】:2014-04-21 17:56:19
【问题描述】:

我需要存储一些简单的数据(只是一些带有一些属性的 POCO 对象,没什么花哨的)。

public class MyPOCO
{
    public int Id {get; set;}
    public string Title {get; set;}
    public string Email {get; set;}
    // ...
}

基本上,在我的 Web 应用程序的某个时刻,我需要检查 MyPOCO 对象是否已经持久化(与 Id 匹配),如果不是,则持久化它。这就是我所需要的。

它不能是任何数据库,所以可能是XMLJSON。有什么简单的方法(或 Nuget 包)来存储它?

【问题讨论】:

  • 为什么不能是数据库?
  • @DanielBrückner 这就是应用程序需要的所有持久性。它需要在没有任何 sql server 实例的情况下轻松部署到任何 IIS。
  • 为什么不使用会话变量?例如,当应用程序启动时protected void Session_Start(Object sender, EventArgs e) 设置会话变量/在那里初始化它们HttpContext.Current.Session["Id"] = 0; 等...
  • 有多少个对象?您可以使用 XML,但您将需要在它写入时处理锁。你从来没有读过这个吗?为什么不只是在应用程序启动时将 ID 读入 HashSet?
  • @Blam 不,没有阅读。它有点像日志,如果你愿意,可以是“DISTINCT LOG”。无论如何,我想我会选择 SQL Server CE。

标签: c# .net xml json persistence


【解决方案1】:

我建议将SQL Server CESQLite 等进程内数据库与O/R 映射器一起使用。这比重新发明一个小型数据库更容易且更易于维护。

【讨论】:

  • 我想我会采用这种方法。有什么好的微型 ORM 可以很好地与 SQL Server CE 一起使用吗?
  • 我会先使用实体​​框架和代码。它可能不是最轻量级的替代方案,但它可以正常工作,并且鉴于它不是应用程序开销的核心,因此不必担心。
猜你喜欢
  • 2019-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-28
  • 2011-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多