【问题标题】:Document based database for .NET [closed].NET的基于文档的数据库[关闭]
【发布时间】:2010-12-08 21:48:55
【问题描述】:

我想在我的 web 应用程序中使用某种 nosql 数据库,它是用 asp.net mvc 编写的,但找不到任何有用的东西。我查看了 MongoDB 和 CouchDB,但我希望为我的查询提供比它们更好的 api(强类型不是魔术字符串)。 .NET 是否存在类似的东西?

【问题讨论】:

    标签: .net asp.net-mvc mongodb nosql


    【解决方案1】:

    这个问题在被问到的时候还不存在……但是现在有Raven DB,一个由Ayende Rahien用C#编写的文档数据库。

    【讨论】:

      【解决方案2】:

      我是 Mongo .Net 驱动程序的主要作者。目前还没有类似 ORM 的映射器。相反,它适用于相当于字典的简单文档。使用反射来遍历文档中的字段并将它们分配给对象的属性并不难。过去,我为 LDAP 结果编写了类似的简单内容。您不必担心使用 Mongo 进行 sql 注入,因为实际上没有可以解析的查询语言。所有司机都用 Mongo 的母语交谈。如果您动态生成 javascript 并将其发送到数据库,则有一些潜力,但这种需求应该很少见。如果您对使用驱动程序有任何疑问,请随时将它们发布到 Google 群组或通过 GitHub 发送消息。

      【讨论】:

      • 嗨,我决定在我的项目中使用 mongo,但我不知道如何在我的文档中嵌套一些对象,假设我有问题文档并希望在其中得到答案,但不知道该怎么做
      • 嵌入文档只是包含文档的属性。这是一个班轮。如果需要,您当然可以将其分成多行。文档 doc = new Document().Append("embeddedDoc", new Document().Append("attr1","val1"));
      • 好的,但是是否可以添加文档集合,假设我有问题并想要收集答案,当我尝试这样做时,我遇到了异常,因为关键答案已经存在
      • 在 GitHub 上向我发送一条消息,其中包含您尝试执行的代码或将其发布到 mongodb-user Google 组。
      • Mongo 是否只能用作字典。我的意思是,如果我有一个具有 FirstName 和 LastName 属性的 User 类。
      【解决方案3】:

      不确定它是否是您正在寻找的,但您可以尝试http://www.db4o.com/ 我自己从未使用过它,但它可能会对您有所帮助

      【讨论】:

        【解决方案4】:

        您可以使用 ADO.NET 连接到文本文件,并使用 SQL 语法和通过 ADO.NET 发出的命令来读/写它们。 There's an example in this article。您的数据将以逗号或制表符分隔的记录格式以人类可读的格式存储。当然,对于大型数据集,它不会很快。 我不确定您是否试图摆脱 SQL 数据库和 SQL 语法。文本文件解决方案可通过 SQL 查询。

        您也可以通过 ADO.NET 访问将 Excel 电子表格视为 SQL 数据源(即使它们不是)来执行相同的操作。

        【讨论】:

          【解决方案5】:

          MongoDB 不使用魔术字符串,而是使用查询文档来表示查询。还有一个open source C# driver 可用。我不确定 C# 驱动程序的具体细节,但如果不存在验证层,则在其上添加验证层应该相对容易。例如,在 Python 和 Ruby 的驱动程序之上也有类似的项目。

          【讨论】:

          • 是的,但是请告诉我如何以类型安全的方式保存和检索我的域对象?
          • 当您说“类型安全”时,我不确定您在寻找什么。我认为您能做的最好的事情是使用数据库访问层来处理验证您保存到 MongoDB 的数据并从 MongoDB 中取出。
          猜你喜欢
          • 2023-03-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多