Tag: linq

如何按周分组日期?

我正在为我正在创建的定制应用程序编写Excel导出程序,我对C#中的LINQ分组有疑问。 基本上,这个新的Excel导出器类有两个日期。 然后,该class级检索此日期范围之间的所有托运。 作为此出口商的一部分,我需要能够将日期分组为几周,并获取该周的值。 因此,例如,如果我给了07/12/2011和2011年12月22日(dd / MM / yyyy格式),我需要将它们之间的所有货物分组为几周(每周从星期日开始)。 使用上述日期的理想结果将是 Week 1: (consignments between 04/12/2011 and 10/12/2011) Week 2: (consignments between 11/12/2011 and 17/12/2011) Week 3: (consignments between 18/11/2011 and 24/12/2011) 有任何想法吗?

如果没有空格分隔符,为什么XmlReader会跳过所有其他元素?

当我尝试使用LINQ XmlReader类解析XML时,我看到了奇怪的行为。 下面的测试用例:看起来我是否使用(XElement)XNode.ReadFrom(xmlReader)或XmlReader上的一个Read()方法,它错过了输入XML中的第二个bar元素。 如果在和之间添加了任何空格,那么它将正确解析第二个bar元素。 有没有人知道为什么输入流搞砸了以及如何解决这个问题? [Test] [Explicit] public void ShouldParseCorrectNumberOfElements() { var xml = @”wtfwtf2″; XmlReader xmlReader = XmlReader.Create(new MemoryStream(Encoding.UTF8.GetBytes(xml))); int count = 0; xmlReader.MoveToContent(); while (xmlReader.Read()) { if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == “bar”) { var element = xmlReader.ReadOuterXml(); Console.WriteLine(“just got an ” + element); count++; } } Assert.AreEqual(2, count); }

将Queryable 转换回IMongoQuery

请考虑以下代码 var q = from e in myCollection.AsQueryable() where e.Name == “test” select e; 实际的查询非常复杂,我不喜欢使用QueryBuilder而不是LINQ来构建它。 所以我想将它转换回IMongoQuery以在myCollection.Group()调用中使用,因为LINQ没有GroupBy支持。 可能吗?

加入或Mutible DBContext存储库通用c#

我有存储库通用,我做的方法是Get,Update,Insert。 我从数据库中的表中获取数据我使用此方法。 public IEnumerable Get(Expression<Func> newObjectEntity,int page, int rowsByPage) where typeEntity : class { List Result = null; Result = Context.Set().Where(newObjectEntity).OrderBy(m => true).Skip(5 * (page – 1)).Take(rowsByPage).ToList(); return Result; } 我在获取数据时只有一个表这是我的代码: var collecProducts = repository.Get(c => true); 我的问题是,当我想要两个平板电脑我怎么做? 我发现这段代码但速度很慢。 var collecProducts = repository.Get(c => true); var collecCategory = repository.Get(c => true); var collectProductToCategory = (from […]

LINQ to SQL查询中的自定义方法

是否可以使用自定义方法在查询中例如: var result = from u in context.MyTable where MyMethod(u) == 10 select u;

linq to entities vs linq to objects – 它们是一样的吗?

我通常使用术语entity来表示业务数据对象,在我看来, linq to entities linq to objects是相同的。 这不正确吗?

LINQ to Entities无法识别方法’System.String Split(Char )’方法,

我正在尝试实现一种方法,其中存储在数据库中的活动关键字(用逗号分隔)与用逗号分隔的给定字符串匹配。 public List SearchByMultipleKeyword(string keywords) { string[] keyword = keywords.Split(‘,’); var results = (from a in Entities.TblActivities where a.Keywords.Split(‘,’).Any(p => keyword.Contains(p)) select a).ToList(); return results; } 我收到以下错误: LINQ to Entities does not recognize the method ‘System.String[] Split(Char[])’ method, and this method cannot be translated into a store expression.

什么是用于捕获SQLException和重试的优秀C#编码样式

我有一个方法调用SQLServer函数对表执行自由文本搜索。 该函数有时会在第一次调用时产生一个SQLException:“对于全文查询字符串断字超时”。 所以我通常想重试该请求,因为它会在后续请求中成功。 构造重试逻辑的好方法是什么。 目前我有以下内容: var retryCount = 0; var results = new List(); using (var ctx = new UsersDataContext(ConfigurationManager.ConnectionStrings[CONNECTION_STRING_KEY].ConnectionString)) { for (; ; ) { try { results = ctx.SearchPhoneList(value, maxRows) .Select(user => user.ToDto()) .ToList(); break; } catch (SqlException) { retryCount++; if (retryCount > MAX_RETRY) throw; } } } return results;

基于LINQ中任意键的不同对象列表

我有一些对象: class Foo { public Guid id; public string description; } var list = new List(); list.Add(new Foo() { id = Guid.Empty, description = “empty” }); list.Add(new Foo() { id = Guid.Empty, description = “empty” }); list.Add(new Foo() { id = Guid.NewGuid(), description = “notempty” }); list.Add(new Foo() { id = Guid.NewGuid(), description = “notempty2” […]

如何在linq查询中添加动态“where”子句?

我有一个带有位掩码的User表,其中包含用户的角色。 下面的linq查询返回其角色包括1,4或16的所有用户。 var users = from u in dc.Users where ((u.UserRolesBitmask & 1) == 1) || ((u.UserRolesBitmask & 4) == 4) || ((u.UserRolesBitmask & 16) == 16) select u; 我想将其重写为下面的方法,以返回给定角色的所有用户,以便我可以重用它: private List GetUsersFromRoles(uint[] UserRoles) {} 关于如何动态构建我的查询的任何指针? 谢谢