草庐IT

c# - 无法在来自 MongoDB 的 LINQ 查询中将字符串转换为 int

因此,我正在执行一个SelectMany查询以循环访问集合中对象内部的列表。这是我的查询:varcollection=_database.GetCollection(VehiclesCollection);varaggregation=collection.AsQueryable().SelectMany(v=>v.VehicleEntries).Where(i=>Convert.ToInt32(i.PostFlashDTCs)>0).ToList();但是,每次我运行它时,我都会收到以下错误:Afirstchanceexceptionoftype'System.InvalidOper

c# - 使用具有鉴别器和多态性的 C# MongoDB v2 驱动程序

UsingC#MongoDBLINQwithdiscriminator准确描述了我正在尝试做的事情,但我正在尝试使用新的官方2.0.1驱动程序。我有一系列子类,它们的特殊属性都继承自包含公共(public)属性的基类。鉴别器属性看起来不错,我已经使用子类型成功保存了混合文档。我希望接下来能够做的是类似于以下的查询:varsubsetB=db.GetCollection("Documents").AsQueryable().OfType();获取SubclassB类型的所有文档。但是,我找到的文档和文章中提到的AsQueryable()和OfType()方法似乎不可用。我是否遗漏了什么,

c# - .NET MongoDB C# 驱动程序不支持转换对象

我在MongoDB中存储文档,由以下类表示:publicclassEntity{publicstringId;publicstringName;publicListAttributes=newList();}publicclassEntityAttribute{publicstringKey;publicobjectValue;publicstringDataType;}“EntityAttribute”上的“Value”对象显然可以是任何类型的对象(string、int、float等),这就是意图。当我的应用尝试使用关系运算符(例如“”)执行查询时,它会将“EntityAttribu

c# - MongoDB c# 驱动程序 - 在序列化字典中执行 LINQ "Any"

我有一个带有一些属性的文档类型,其中之一是Dictionary。序列化和反序列化似乎工作正常(我可以搜索、执行CRUD操作等)。问题是我正在尝试编写一种方法来查找该类型的所有对象,其中字典在其键中包含特定值(id)。尝试查询:varobjectCollection=db.GetCollection("MyClass");varquery=Query.Where(m=>m.MyDictionary.Any(k=>k.Key==id));类:publicclassMyClass{publicObjectIdId{get;set;}//...[BsonElement("Dictionary"

C# MongoDB 驱动只返回 100 个结果

我正在写邮寄标签,需要为每份文件打印一个标签。我在收藏中有829个文档,但是当我检索它们时,我只得到100个文档。我有这个LINQ代码:IMongoCollectionPessoa;Pessoa=database.GetCollection(collectionName);returnPessoa.AsQueryable().ToList();如何检索所有文档? 最佳答案 Ihave829documentsontheCollection,butwhenIretrievethem,Ionlyget100documents.我可以在我这

c# - 使用 MongoDB 的官方 C# 驱动程序的按位枚举(标志)查询

当我尝试运行以下形式的LINQ查询时:MongoCollectioncollection;collection.AsQueryable().Where(entity=>(entity.Flags&MyFlags.AFlag)!=MyFlags.None);我得到一个ArgumentException消息Unsupportedwhereclause:((Int32)((Int32)entity.Flags&4)!=0).这是已知错误/功能吗?有什么解决方法吗?来自documentationMongoDB似乎有按位更新,但没有按位查询。为了比较,使用ServiceStack作为客户端,相同

c# - MongoDB C# 驱动程序 : Using Linq to get Guid returns nothing

以下是我用来查询数据库的代码。变量“filter”是一个linq表达式。看来我可以使用此代码通过ObjectId或文档中可能存在的任何其他值来获取数据。但是当我存储一个Guid并尝试检索它时,没有返回。我在这里做错了什么,或者在Guids方面对MongoDB本身有限制吗?_dbSet=mongoDatabase.GetCollection(collectionName);varquery=_dbSet.AsQueryable();if(filter!=null){query=query.Where(filter);}returnquery.ToList();编辑:只是为了澄清一点。我已

c# - 如何使用 MongoDB 和 C# 驱动程序查询数组是否为 null 或为空?

背景:我需要完成的是,如果记录中的特定数组为null或为空,则删除集合中的任何记录。我知道查找空数组的C#驱动程序查询是:IMongoQueryquery=Query.Exists("myArray",false);这对于检测空数组很好,但有时数组不会为空,但不会有任何元素。我需要的更像是://Note:secondsubquerywillnotworkIMongoQueryquery=Query.Or(Query.Exists("myArray",false),Query.IsEmpty("myArray",false)//error);型号:我的类(class)看起来像:publi

mysql - LINQ to Entities 不支持指定的类型成员 'DateTime'

我正在使用连接器的最新开发版本-6.3.3beta通过VS2010中的EntityFramework4连接到mysql数据库。我有以下Linq语句,它在查询中使用TIMESTAMP列-createdDate。这是代码:inttimeThreshold=5;DateTimeOffsetcutoffTime=DateTime.Now.AddMinutes(-timeThreshold);using(varcontext=newopusismEntities()){varunprocessedMessages=frommincontext.messageswherem.createdDate

c# - linq 到实体 : linq query performance optimization

我正在使用EF4.4.20627.0和MySQL5.6,MySQL.net连接器版本6.6.4我有一个这样的方法,它生成的sql非常非常慢(需要超过1分钟)privateListGetPagedNews(intpagenum,intpagesize,AdvSearcherArgsadvcArgs,stringkeyword){vardataSrc=_dbRawDataContext.TNews.Where(x=>x.Id>0);if(!string.IsNullOrWhiteSpace(advcArgs.PMAC)){dataSrc=dataSrc.Where(m=>m.Pmac==a