草庐IT

LINQ_ENABLED

全部标签

LINQ to MongoDB : . Any with a Predicate

我在MongoDB中有一个S文档集合。每个S都有一个UserPermission对象的集合,每个对象都有一个UserId属性。我想选择所有具有UserPermission和特定UserId的S文档:returncollection.Where(s=>s.UserPermissions.Any(up=>up.UserId==userIdString)).ToList();我收到一条错误消息,告诉我不支持带有谓词的.Any。MongoDB文档说:“您通常可以通过在投影前放置等效的where子句来重写此类查询(在这种情况下您可以删除投影)。”这是什么意思?知道如何更改我的查询以绕过此限制吗?

c# - 使用 LINQ 的 MongoDB C# 聚合

我有一个包含这些字段的mongo对象:DateTimeTimeStamp;floatValue;如何在C#中使用LINQ获取聚合管道,以获取特定时间戳范围内的最小值、最大值和平均值?我看过几个聚合示例,但我不太明白。举一个像这样的简单案例的例子肯定(希望)让我理解它。 最佳答案 您可以使用转换为聚合框架语法的LINQ语法。假设您有以下Model类:publicclassModel{publicDateTimeTimestamp{get;set;}publicfloatValue{get;set;}}您可以使用where来指定时间戳范

Linq到SQL左加入需要附加的空检查

以下查询正常工作,但缺少一个功能。DepartmentID字段是无效的,在迭代用户时,我只想获取没有dectormentID的用户fromdocumentin_documentRepository.GetAll()fromdocumentShareindocument.DocumentShareswheredocumentShare.UserId==input.SharedUserIdjoinsUin_userRepository.GetAll()ondocumentShare.UserId/*AdditionalnullcheckshouldbeherelikedocumentShare.D

.net - 我们可以将 MongoDB 与我们过去用于关系数据库(例如 linq2sql、 Entity Framework 、subsonic 等)的 ORM 一起使用吗?

我想知道是否可以根据您的经验使用我们以前使用.netORM和nosql数据库(例如MongoDB)的经验。另外,如果您知道执行此操作的样本,请在您的回答中提及。 最佳答案 您可以重用您的LINQ技能,因为.net和MongoDB之间的两个提供程序都支持LINQ。norm驱动程序和mongodb-csharp-driver都支持LINQ查询。参见http://www.mongodb.org/display/DOCS/C+Sharp+Language+Center在大多数情况下,将对象映射到文档比将对象映射到一组表更容易。但是您不能重用

c# - MongoDB LinQ "Select"方法真的只会检索字段的子集吗?

在互联网上搜索如何使用C#官方驱动程序(但使用LinQ作为基础架构)检索MongoDB中的字段子集,我找到了如何在MongoDBshell中执行此操作。//selectingonly"field"ofacollectiondb.collection.find({field:'value'},{field:1});然后,我在C#LinQTutorial中找到了Select方法,它等同于:collection.AsQueryable().Select(x=>new{x.field});但是,教程说该方法“用于从匹配的文档中投影新的结果类型”。如何确保此方法仅检索字段的子集而不是整个结果,然

mongodb - 使用 C# 驱动程序将 linq Expression<> 转换为 IMongoQuery

给定一个;Expression>criteria;是否可以使用驱动程序将其转换为IMongoQuery?看起来它可能在某个地方的QueryBuilder中,但我看不到它。 最佳答案 这是一个例子:publicclassC{publicintId;publicintN;}Expression>criteria=x=>x.N==2;varquery=Query.Where(criteria); 关于mongodb-使用C#驱动程序将linqExpression转换为IMongoQuery,我

c# - mongodb linq 提供程序 : incorrect behavior for fields of type decimal?

使用mongodb版本3.4.3,c#驱动程序(nugetMongoDb.Driver)版本2.4.3给定一个类,该类的字段Amount类型为decimal,以及该类型的mongodb集合。在集合中查询金额大于或小于特定值的条目会给出不正确的结果。将类型更改为“int”时,代码会正常运行。在MongoDb中使用小数字段是否有问题?下面的示例代码说明了这个问题。classC{publicintId{get;set;}publicstringDescription{get;set;}publicdecimalAmount{get;set;}}//assumesalocallyinstall

c# - 不能在 MongoDb C# 上将 Linq 与嵌套类 List<> 一起使用

我有以下类(class):publicclassCompany{[BsonId]publicstringdealerId=null;publicListdealers=newList();}publicclassDealer{publicstringdId=null;publicintdIndex=-1;publicListstores=newList();}publicclassAutoStore{publicstringtype=null;publicDictionarydata=newDictionary();}我能够存储CompanyMongo中的类对象Insert().问题是

LINQ滤波器n级嵌套列表

我的项目中有以下层次结构:活动任务步回应这意味着一项活动具有许多任务,这又有许多步骤,一步有许多响应。这是我的POCO课程:publicclassActivity{publicvirtualICollectionTasks{get;set;}}publicclassTask{publicvirtualICollectionSteps{get;set;}}publicclassStep{publicvirtualintDisplayOrder{get;set;}publicvirtualICollectionResponses{get;set;}}publicclassResponse{publ

Linq 查询的结果会开辟新的内存吗?

一:背景1.讲故事图片昨天群里有位朋友问:linq查询的结果会开辟新的内存吗?如果开了,那是对原序列集里面元素的深拷贝还是仅仅拷贝其引用?其实这个问题我觉得问的挺好,很多初学C#的朋友或多或少都有这样的疑问,甚至有3,4年工作经验的朋友可能都不是很清楚,这就导致在写代码的时候总是会畏手畏脚,还会莫名的揪心这样玩的话内存会不会暴涨暴跌,这一篇我就用windbg来帮助朋友彻底分析一下。二:寻找答案1.一个小案例这位老弟提到了是深拷贝还是浅拷贝,本意就是想问:linq一个引用类型集合到底会怎样? 这里我先模拟一个集合,代码如下:classProgram{staticvoidMain(string[]