Sta*_*tan 5 .net c# linq mongodb mongodb-.net-driver
我想知道我是否甚至可以在未映射的mongo文档上使用LINQ并且是完全动态的.原因是我有ITEM aggrigator,它包含未知的键和值.这只是我之所以选择no-sql解决方案的唯一原因,因为EAV + SQL看起来很慢而且有点过分.
我插了超过100万的文件到我的test收藏有one以ten与它的随机数据字段.现在,我正在尝试将其取回并使用本机Mongo查询,当然.使用LINQ并不是那么多.我在这里做错了吗?
错误
mscorlib.dll中发生了未处理的"System.FormatException"类型异常
附加信息:输入字符串的格式不正确.
码
private static List<BsonDocument> Get(string query)
{
var client = new MongoClient("mongodb://localhost");
var server = client.GetServer();
var db = server.GetDatabase("test");
var collection = db.GetCollection("items");
var collectionQuery = collection.AsQueryable();
var result = collection.Find(Query.EQ("Six", 7962)).ToList(); // THIS WORKS
//var result = collection.AsQueryable().Where(x => x["Six"] == 7962).ToList(); // ERROR
return result;
}
Run Code Online (Sandbox Code Playgroud)
该驱动程序当前不支持动态类型。这是它的 jira 票证: https ://jira.mongodb.org/browse/CSHARP-539
还有一篇关于一些可能的解决方法的有趣帖子: http://roysvork.wordpress.com/2013/04/22/using-linq-to-query-loosely-typed-data-in-mongodb/