Tag: linq

什么是underscore.js相当于LINQ的SelectMany运算符?

想象一下,我有一个嵌套的数组结构。 var nested = [ [1], [2], [3] ]; 使用underscore.js ,我将如何产生一个平坦的数组? 在C#中,你会使用Enumerable.SelectMany像这样: var flattened = nested.SelectMany(item => item); 请注意,在这种情况下,lambda直接select嵌套的项目,但它可以是任何任意的expression式。 在jQuery中,可以使用: var flattened = $.map(nested, function(item) { return item; }); 但是,这种方法不适用于下划线的地图function。 那么如何使用underscore.js得到扁平数组[1, 2, 3] ?

如何在LINQ中使用union all?

如何在LINQ TO SQL中使用union all。 我已经使用下面的代码联合,那么如何使用这个工会所有? List<tbEmployee> lstTbEmployee = obj.tbEmployees.ToList(); List<tbEmployee2> lstTbEmployee2 = (from a in lstTbEmployee select new tbEmployee2 { eid = a.eid, ename = a.ename, age = a.age, dept = a.dept, doj = a.doj, dor = a.dor }).Union(obj.tbEmployee2s).ToList();

在LINQ to SQL中检索单个logging结果的最佳方法

如果我查询关键字段的条件如下: var user = from u in dc.Users where u.UserName == usn select u; 我知道我会得到零结果或一个结果。 我仍然应该继续前进,并使用for-each来检索结果,或者有另一种首选的方法来处理这种情况。

更好的方法来降序排列数组

我有一个int数组,我必须按降序sorting。 因为我没有find任何方法来按降序排列数组。目前,我按照如下降序排列数组 int[] array = new int[] { 3, 1, 4, 5, 2 }; Array.Sort<int>( array ); Array.Reverse( array ); 现在,问题是。是否有更好的方式在c#中做同样的事情?

删除基于值的字典中的项目

我有一个Dictionary<string, string> 。 我需要查看该字典,以查看是否存在基于来自其他地方的input的值,如果存在,则将其删除。 ContainsValue只是说真/假而不是该项目的索引或键。 帮帮我! 谢谢 编辑:刚刚发现这个 – 你怎么看? var key = (from k in dic where string.Compare(k.Value, "two", true) == 0 select k.Key).FirstOrDefault(); 编辑2:我也只是敲了这可能工作 foreach (KeyValuePair<string, string> kvp in myDic) { if (myList.Any(x => x.Id == kvp.Value)) myDic.Remove(kvp.Key); }

linq问题:查询嵌套集合

我有一个问题类具有公共列表属性,可以包含几个答案 。 我有一个问题库,它负责从XML文件中读取问题及其答案。 所以我有一个问题(列表)的集合与每个问题对象有一个答案的集合,我想查询这个问题的答案(即通过其名称)使用Linq的集合。 我不知道如何正确地做到这一点。 我可以用foreach做,但是我想知道是否有一种纯粹的Linq方法,因为我正在学习它。

如何在LINQ select语句中使用Lambda

我试图select商店使用lambda函数,并将结果转换为SelectListItem,所以我可以呈现它。 但是它抛出了“ select条款中的expression式types不正确 ”错误: IEnumerable<SelectListItem> stores = from store in database.Stores where store.CompanyID == curCompany.ID select (s => new SelectListItem { Value = s.ID, Text = s.Name} ); ViewBag.storeSelector = stores; 我究竟做错了什么? 编辑: 另外,如何在这种情况下将Int转换为String? 以下不起作用: select (s => new SelectListItem { Value = s.ID.ToString(), Text = s.Name} ); select (s => new SelectListItem { Value […]

如何构造一个LINQ to Entities查询来直接加载子对象,而不是调用Reference属性或Load()

我是新来的使用LINQ to Entities(或者Entity Framework,无论他们在调用它),我写了很多这样的代码: var item = (from InventoryItem item in db.Inventory where item.ID == id select item).First<InventoryItem>(); 然后调用这个对象的方法如下: var type = item.ItemTypeReference; 要么 var orders = item.OrderLineItems.Load(); 检索儿童或相关对象。 我没有分析数据库或挖得太深,但我的猜测是,当我调用一个.Load()或一个*引用属性,我实际上是另一个调用数据库。 如果是这样的话,有什么办法让我的初始LINQexpression式中的那些对象?

LINQ:将lambdaexpression式作为要执行的parameter passing并通过方法返回

所以这里是场景:我有一系列不同的存储库类,每个可以使用一个孤立的数据上下文,或一个共享的上下文。 在使用独立上下文的情况下,我希望向基类中添加一个方法,该方法允许我指定lambda作为参数,通过所选资源库的独立上下文来执行该expression式,并返回一个IQueryable结果。 方法签名将如何显示,以及如何将expression式传递给上下文? 我需要的解决scheme尽可能通用,因为任何可能的模型对象/表可以使用。 这里基本上是我想要做的: IAssetRepository repo = new AssetRepository(true); // true indicates isolated context var results = repo.ExecuteInContext<SomeType>(SomeTable.Where(x => x.SomeProp.Equals(SomeValue)));

使用linq生成直接更新而不select

每个人,每天。 我仍然在学习LINQ,所以原谅我,如果这是天真的。 在直接处理SQL时,可以使用条件生成更新命令,而无需运行select语句。 当我使用LINQ时,我似乎遵循以下模式: select实体 修改实体 提交更改 我想要做的是使用linq和延迟执行的直接更新。 实际执行是否可能直接在SQL上发生,而没有任何数据传输到客户端? DataContext dc = new DataContext var q = from product in dc.Products where product.Type = 1 set product.Count = 0 dc.SubmitChanges 所以本质上,LINQ拥有它所需要的所有信息,而不需要使用select来生成更新命令。 它会运行SQL: Update Products Set Count = 0 Where Type = 1 在LINQ中是否存在像“set”这样的关键字?