Tag: linq

LINQ,无法创buildtypes为XXX的常量值。 在此上下文中仅支持基本types或枚举types

在我的应用程序中,我有讲师,他们有他们可以教的课程列表,当我删除课程时,我想删除与讲师的联系。 代码如下: public void RemoveCourse(int courseId) { using (var db = new AcademicTimetableDbContext()) { var courseFromDb = db.Courses.Find(courseId); var toRemove = db.Lecturers .Where(l => l.Courses.Contains(courseFromDb)).ToList(); foreach (var lecturer in toRemove) { lecturer.Courses.Remove(courseFromDb); } db.SaveChanges(); } } 但它不起作用。 我明白了 NotSupportedException:无法创buildtypes为Course的常量值。 在此上下文中仅支持基本types或枚举types。 我究竟做错了什么?

dynamicLINQ中的WHERE子句

什么是最好的方式来组装dynamic的WHERE子句的LINQ语句? 我有一个窗体上的几十个checkbox,并将它们传回给我的LINQ查询:Dictionary <string,List <string >>(Dictionary <fieldName,List <values >>)。 public IOrderedQueryable<ProductDetail> GetProductList(string productGroupName, string productTypeName, Dictionary<string,List<string>> filterDictionary) { var q = from c in db.ProductDetail where c.ProductGroupName == productGroupName && c.ProductTypeName == productTypeName // insert dynamic filter here orderby c.ProductTypeName select c; return q; }

我可以LINQ一个JSON?

这是我从.NET上的请求得到的JSON: { "id": "110355660738", "picture": { "data": { "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/1027085_12033235063_5234302342947_n.jpg", "is_silhouette": false } } } 我想赶上领域的“url”,使用(也许?)LINQ。 我做了很多这样的要求,有点不同。 所以我不会创build一个C#类并每次反序列化它。 这是一种提取单个字段的方法吗? 谢谢!

LINQ中SQL ISNULL的等价物

在SQL中,你可以运行一个ISNULL(null,'')你如何在linq查询中做到这一点? 我有一个join这个查询: var hht = from x in db.HandheldAssets join a in db.HandheldDevInfos on x.AssetID equals a.DevName into DevInfo from aa in DevInfo.DefaultIfEmpty() select new { AssetID = x.AssetID, Status = xx.Online }; 但我有一个不能为空的位types(xx.online)如何设置为false,如果它为空?

如何在Mono中使用LINQ?

我不能让System.Linq(又名LINQ to Objects)工作。 我在Ubuntu 10 Lucid Lynx中使用Mono 2.4.4运行MonoDevelop 2.2.1。 他们在他们的网站上宣传他们实现了LINQ,但是我甚至找不到Enumerable.Range或ToArray() 。 怎么了?

为什么没有Linq方法通过谓词返回不同的值?

我想要在列表中获取不同的值,而不是通过标准的相等比较。 我想要做的是这样的: return myList.Distinct( (x, y) => x.Url == y.Url ); 我不能,在Linq中没有扩展方法可以做到这一点 – 只需要一个IEqualityComparer 。 我可以用它来破解它: return myList.GroupBy( x => x.Url ).Select( g => g.First() ); 但是,这似乎凌乱。 这也不完全相同 – 因为我只有一个键,所以我只能在这里使用它。 我也可以添加我自己的: public static IEnumerable<T> Distinct<T>( this IEnumerable<T> input, Func<T,T,bool> compare ) { //write my own here } 但是,这看起来好像写了一些应该在那里的东西。 任何人都知道为什么这种方法不在那里? 我错过了什么吗?

相当于SQL IN运算符的linq是什么?

用linq我不得不检查一个行的值是否存在于一个数组中。 相当于sql查询: WHERE ID IN (2,3,4,5) 我能怎么做?

如何使用linq查找最大值的项目?

看看下面的表格: Item Value A 10 b 50 c 90 我想find具有maximum value的项目。 我可以通过使用group by或者orderding by来获得,但不知何故我觉得应该有一个更直接的方法。 我对吗?

为什么使用AsQueryable()而不是List()?

我正在使用entity framework和LINQ的数据访问使用存储库模式作为实施非testing存储库的基础。 当调用返回N个logging而不是List <T>时,我看到的大多数示例都返回AsQueryable()。 这样做的好处是什么?

Linq不同 – 计数

我期待在对象的示例列表上执行查询 Date Username 01/01/2011 james 01/01/2011 jamie 01/01/2011 alex 01/01/2011 james 02/01/2011 matt 02/01/2011 jamie 02/01/2011 alex 02/01/2011 james 02/01/2011 james 02/01/2011 lucy 02/01/2011 alex 03/01/2011 james 03/01/2011 bob 03/01/2011 bob 03/01/2011 james 03/01/2011 james 04/01/2011 alex 04/01/2011 alex 04/01/2011 alex 我想用linq查询具有唯一用户login数的date列表。 例如: 01/01/2011 – 3 02/01/2011 – 5 03/01/2011 – 2 04/01/2011 – 1 […]