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