草庐IT

Linq2XSD

全部标签

c# - 如何通过Linq查询MongoDB中的BsonExtraElements

我使用mongodb[BsonExtraElements]功能来扩展我的类一些动态数据,但不幸的是我无法通过mongodbC#驱动程序创建查询。这是我的模型类:publicclassMongoProductEntity{publicMongoProductEntity(){AdditionalColumns=newBsonDocument{AllowDuplicateNames=false};}[BsonExtraElements]publicBsonDocumentAdditionalColumns{get;set;}publicstringBrandName{get;set;}}这

c# - 条件聚合器的 MongoDb.Linq 等效查询

我按以下方式使用MongoDb.Linq对我的数据进行分组:groupr1bynew{r1.SupId,r1.SupFullName}intog2selectnew{g2.Key.SupFullName,Volunteers=fromv0ing2wherev0.VolId!=g2.Key.SupIdselectnew{v0.VolFullName,v0.VolPeopleCount}}也就是说,我只希望在Volunteers中那些Id与组key不同的人。我期待驱动程序生成一个条件$push,但它给出了一个简单的:"$push":{"VolFullName":"$VolFullName"

linq - 流畅的 mongo Count() 性能

给定这个包装器:publicMongoCollectionGetQuery()whereTEntity:class{varquery=DataBase.GetCollection(typeof(TEntity).Name+"s");returnquery;}publiclongCount(System.Linq.Expressions.Expression>criteria)whereTEntity:class{returnthis.GetQuery().AsQueryable().Count(criteria);}如果我调用Count(),是否会按照文档中所述在服务器上执行查询her

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