Questions tagged «linq»

语言集成查询(LINQ)是Microsoft .NET Framework组件,它向.NET语言添加了本机数据查询功能。请考虑在适当的时候使用更详细的标签,例如[linq-to-sql],[linq-to-entities] / [entity-framework]或[plinq]

4
将Linq查询结果转换为字典
我想使用Linq to SQL向数据库中添加一些行,但是我想在添加行之前进行“自定义检查”,以了解是否必须添加,替换或忽略传入的行。我想尽量减少客户端和数据库服务器之间的通信量,并最大程度地减少查询数量。 为此,我希望获取验证所需的尽可能少的信息,并且在过程开始时仅获取一次。 我当时正在考虑做这样的事情,但是显然,这是行不通的。有人有主意吗? Dictionary<int, DateTime> existingItems = (from ObjType ot in TableObj select (new KeyValuePair<int, DateTime>(ot.Key, ot.TimeStamp)) ) 我最后想要的是一个Dictionary,而不必从TableObject下载整个ObjectType对象。 我还考虑了以下代码,但是我试图找到一种正确的方法: List<int> keys = (from ObjType ot in TableObj orderby ot.Key select ot.Key).ToList<int>(); List<DateTime> values = (from ObjType ot in TableObj orderby ot.Key select ot.Value).ToList<int>(); Dictionary<int, DateTime> existingItems = …

17
使用LINQ连接字符串
写老派的最有效方法是什么: StringBuilder sb = new StringBuilder(); if (strings.Count > 0) { foreach (string s in strings) { sb.Append(s + ", "); } sb.Remove(sb.Length - 2, 2); } return sb.ToString(); ...在LINQ中?


7
当结果为空时,LINQ返回什么
我对LINQ查询有疑问。通常,查询返回一个IEnumerable<T>类型。如果返回为空,则不确定它是否为null。我不确定以下内容ToList()是否会引发异常,或者List<string>如果IEnumerable结果没有发现,则为空? List<string> list = {"a"}; // is the result null or something else? IEnumerable<string> ilist = from x in list where x == "ABC" select x; // Or directly to a list, exception thrown? List<string> list1 = (from x in list where x == "ABC" select x).ToList(); 我知道这是一个非常简单的问题,但是我暂时没有VS。
319 c#  linq 

11
使用Newtonsoft将JSON反序列化为.NET对象(也许是LINQ到JSON?)
我知道有一些关于Newtonsoft的帖子,所以希望这不是重复...我正在尝试将Kazaa API返回的JSON数据转换为某种不错的对象 WebClient client = new WebClient(); Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album"); StreamReader reader = new StreamReader(stream); List<string> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(reader.Read().ToString()); foreach (string item in list) { Console.WriteLine(item); } //Console.WriteLine(reader.ReadLine()); stream.Close(); JsonConvert系列只是我正在尝试的最新系列...我不太了解它,希望通过询问大家来消除一些麻烦。我最初试图将其转换为Dictionary或其他内容……实际上,我只需要在那里获取几个值,因此从文档来看,也许Newtonsoft的LINQ to JSON可能是更好的选择?有想法/链接吗? 这是JSON返回数据的示例: { "page": 1, "total_pages": 8, "total_entries": 74, "q": "muse", "albums": [ { "name": "Muse", "permalink": "Muse", …

5
LINQ中的展平列表
我有一个返回的LINQ查询,IEnumerable<List<int>>但我只想返回,List<int>所以我想将我的所有记录合并IEnumerable<List<int>>到一个数组中。 范例: IEnumerable<List<int>> iList = from number in (from no in Method() select no) select number; 我想利用我所有的结果IEnumerable<List<int>>只有一个List<int> 因此,从源数组:[1,2,3,4]和[5,6,7] 我只想要一个数组[1,2,3,4,5,6,7] 谢谢
313 c#  linq  list 

11
使用linq删除列表中的重复项
我有一个类Items有properties (Id, Name, Code, Price)。 列表中Items有重复的项目。 例如: 1 Item1 IT00001 $100 2 Item2 IT00002 $200 3 Item3 IT00003 $150 1 Item1 IT00001 $100 3 Item3 IT00003 $150 如何使用linq删除列表中的重复项?

16
您将如何使用LINQ进行“不参加”查询?
我有两个集合,两个集合中都具有属性Email。我需要获取第一个列表中Email第二个列表中不存在的项目的列表。对于SQL,我只会使用“ not in”,但我不知道LINQ中的等效项。怎么做? 到目前为止,我已经加入了,例如... var matches = from item1 in list1 join item2 in list2 on item1.Email equals item2.Email select new { Email = list1.Email }; 但是我不能加入,因为我需要区别,加入会失败。我需要某种使用包含或存在的方法,我相信。我只是还没有找到执行此操作的示例。
307 c#  linq 

5
为什么ReSharper告诉我“隐式捕获关闭”?
我有以下代码: public double CalculateDailyProjectPullForceMax(DateTime date, string start = null, string end = null) { Log("Calculating Daily Pull Force Max..."); var pullForceList = start == null ? _pullForce.Where((t, i) => _date[i] == date).ToList() // implicitly captured closure: end, start : _pullForce.Where( (t, i) => _date[i] == date && DateTime.Compare(_time[i], DateTime.Parse(start)) > …
296 c#  linq  resharper 

17
实体框架:已经有与此命令关联的打开的DataReader
我正在使用Entity Framework,有时我会收到此错误。 EntityCommandExecutionException {"There is already an open DataReader associated with this Command which must be closed first."} at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands... 即使我没有进行任何手动连接管理。 此错误间歇地发生。 触发错误的代码(为便于阅读而缩短): if (critera.FromDate > x) { t= _tEntitites.T.Where(predicate).ToList(); } else { t= new List<T>(_tEntitites.TA.Where(historicPredicate).ToList()); } 使用Dispose模式以便每次都打开新连接。 using (_tEntitites = new TEntities(GetEntityConnection())) { if (critera.FromDate > x) { t= …


30
LINQ最难或最容易被误解的方面是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 背景:在接下来的一个月,我会给出约或至少包括三名会谈LINQ的背景下C#。我想根据人们可能难以理解的内容,或者对他们的印象有误的情况,来了解哪些主题值得关注。我不会特别谈论LINQ到SQL或实体框架除了作为如何查询可以远程使用表达式树(通常被执行的例子IQueryable)。 那么,您发现了什么困难LINQ呢?您对误解有何见解?示例可能是以下任何一种,但请不要限制自己! C#编译器如何处理查询表达式 Lambda表达式 表达树 扩展方式 匿名类型 IQueryable 延迟执行与立即执行 流与缓冲执行(例如,OrderBy被延迟但被缓冲) 隐式类型的局部变量 读取复杂的通用签名(例如Enumerable.Join)
282 c#  linq  c#-3.0 

19
实体框架。删除表中的所有行
如何使用Entity Framework快速删除表中的所有行? 我目前正在使用: var rows = from o in dataDb.Table select o; foreach (var row in rows) { dataDb.Table.Remove(row); } dataDb.SaveChanges(); 但是,执行需要很长时间。 还有其他选择吗?
280 c#  sql  linq  entity-framework 

12
使用Lambda / Linq对对象排序列表
我在字符串中有“按属性排序”的名称。我将需要使用Lambda / Linq对对象列表进行排序。 例如: public class Employee { public string FirstName {set; get;} public string LastName {set; get;} public DateTime DOB {set; get;} } public void Sort(ref List<Employee> list, string sortBy, string sortDirection) { //Example data: //sortBy = "FirstName" //sortDirection = "ASC" or "DESC" if (sortBy == "FirstName") { list …

6
使用LINQ在一行代码中将string []转换为int []
我有一个字符串形式的整数数组: var arr = new string[] { "1", "2", "3", "4" }; 我需要一个“实”整数数组来进一步推它: void Foo(int[] arr) { .. } 我试图转换int,但它当然失败了: Foo(arr.Cast<int>.ToArray()); 我可以下一步: var list = new List<int>(arr.Length); arr.ForEach(i => list.Add(Int32.Parse(i))); // maybe Convert.ToInt32() is better? Foo(list.ToArray()); 要么 var list = new List<int>(arr.Length); arr.ForEach(i => { int j; if (Int32.TryParse(i, out …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.