我想在我的 web 应用程序中使用某种 nosql 数据库,它是用 asp.net mvc 编写的,但找不到任何有用的东西。我查看了 MongoDB 和 CouchDB,但我希望为我的查询提供比它们更好的 api(强类型不是魔术字符串)。.NET 是否存在类似的东西?
5 回答
我是 Mongo .Net 驱动程序的主要作者。目前还没有类似 ORM 的映射器。相反,它适用于相当于字典的简单文档。使用反射来迭代文档中的字段并将它们分配给对象的属性并不难。过去,我为 LDAP 结果编写了类似的简单内容。您不必担心使用 Mongo 进行 sql 注入,因为确实没有可以解析的查询语言。所有司机都用 Mongo 的母语交谈。如果您动态生成 javascript 并将其发送到数据库,则有一些潜力,但这种需求应该很少见。如果您对使用驱动程序有任何疑问,请随时将它们发布到 Google Group 或通过 GitHub 发送消息。
MongoDB 不使用魔术字符串,而是使用查询文档来表示查询。还有一个可用的开源 C# 驱动程序。我不确定 C# 驱动程序的细节,但如果不存在验证层,在其上添加验证层应该相对容易。例如,在 Python 和 Ruby 的驱动程序之上有类似的项目。
您可以使用 ADO.NET 连接到文本文件,并使用 SQL 语法和通过 ADO.NET 发出的命令来读/写它们。这篇文章中有一个例子。您的数据将以逗号或制表符分隔的记录格式以人类可读的格式存储。当然,对于大型数据集,它不会很快。我不确定您是否试图摆脱 SQL 数据库和 SQL 语法。文本文件解决方案可由 SQL 查询。
您还可以通过 ADO.NET 访问将 Excel 电子表格视为 SQL 数据源(即使它们不是),对它们执行相同操作。
不确定它是否是您正在寻找的,但您可以尝试http://www.db4o.com/我自己从未使用过它,但它可能会对您有所帮助
这在被问到这个问题的时候并不存在......但现在有Raven DB ,一个由Ayende Rahien用 C# 编写的文档数据库。