【c# – LINQ和参考列表问题】教程文章相关的互联网学习教程文章

c# – 自定义IQueryProvider,它依赖于LinqToObjects【代码】

我编写了一个自定义的IQueryProvider类,它接受一个表达式并对SQL数据库进行分析(我知道我可以使用Linq2Sql但是我需要一些修改和调整,不幸的是让Linq2Sql不合适).该类将使用标记的属性(使用属性)识别并执行某些操作,但是我希望能够将表达式传递给LinqToObject提供程序并允许它在之后过滤结果. 例如,假设我有以下linq表达式:var parents=Context.Parents.Where(parent=>parent.Name.Contains("T") && parent.Age>18);Parents类是一个...

c# – 通过Linq Include订购【代码】

我与两个实体有一个多关系:Order: int OrderId string OrderNumber ...OrderItem: int ItemId int sequence ...Product: int ProductId string ProductNameProductType: int ProductTypeid string Title一个订单具有多个OrderItem,每个OrderItem都有一个产品,每个产品都有一个ProductType. 我想写一个Linq,它返回所有订单及其商品,Product,ProductType和商品按顺序字段排序.如何编写查询,如下面的查询? 在Order by with Linq的帮...

c# – 在linq中使用let关键字来组合查询【代码】

我正在编写一个查询,返回需要两个表中的数据的模型列表,我希望let关键字可以帮助我.我是这样开始的:var TheListOfModels = let Data1 = (from a in MyDC.Table1where ....select new ObjectThatContainsData1(){}).ToList()let Data2 = (from b in MyDC.Table2where ....select new ObjectThatContainsData2(){}).Tolist() select new ObjectThatContainsBothData(){ SomeProp1 = from p in Data1select everyth...

c# – 使用Linq计算父对象【代码】

我很擅长使用linq表达式并尝试重构一些旧代码.有没有办法将以下方法转换为简洁干净的Linq表达式?public int GetParentCount(object o) { int count = 0;object parent = GetParentObject(o);while (parent != null){count++;parent = GetParentObject(parent);}return count; }我试过搜索但没有得到令人满意的结果解决方法:您可以像这样枚举祖先:public IEnumerable<MyClass> AncestorsOf(MyClass obj) {var parent = GetParentO...

c# – Asynchronuos绑定和LINQ查询挂起【代码】

我有一个UI控件,它将Enumerable作为其绑定源.但是在我设置绑定源之前,我必须过滤原始的Enumerable.我想像这样使用LINQ:control.BindingSource = from var item in enumerable.Cast<ItemType>()where item.X == 1select item;这是一个UI挂起的问题,因为可枚举很慢(例如,如果像yield一样实现返回new Item(); Thread.Sleep(1000)…)并且控制尝试在UI线程中执行查询.我试图通过使用Task和async-await的组合来解决这个问题:control.Bi...

c# – 具有多个计数的Linq查询【代码】

我试图使用LINQ查询此表: 这就是我想要做的事情: 这是我的LINQ查询:var query = from a in table where a.Country.Equals("USA")group a by a.Product_brand into grpselect new{Product_brand = grp.key.Product_brand,Country = grp.Key.Country,Black = grp.Count(a => a.Black=="Yes"),White = grp.Count(a => a.White=="Yes"),Red = grp.Count(a=> a.Red=="Yes"),Green = grp.Count(a=> a.Green=="Yes")}我不知道我的查询有...

c# – 在Linq查询中尝试【代码】

参见英文答案 > Is it possible to handle exceptions within LINQ queries? 6个是否有一种简洁的方法可以忽略Linq中的异常?即,假设我有一个ObjectA类,它在构造函数中接受一个字符串参数,并且在构造函数中有一些验证正在进行 – 这意味着如果字符串没有正确的格式,构造函数将抛出.通过以下代码,我将从字符串列表中获取ObjectA列表:var result = new List<ObjectA>(); foreach (string _s in ...

c# – 将类型作为参数传递给LINQ Field方法【代码】

下面我们有一个模拟数据库调用列表和一个小程序,它接受该列表并转换它做一个DataTable.在这个例子中,我使用列名的变量来访问该列的值并获得平均值.但是,我调用了Field方法并给它了int类型.似乎不可能将变量传递给通用Field方法.有没有其他方法可以访问DataTable的列值并返回类似平均值的内容而不知道列的类型直到运行时?public class Icd {public int ConditionCode { get; set; }public string ConditionName { get; set; }publi...

c# – LINQ to Azure Search

我正在创建一个可以使用Azure Search服务的类.我希望它接受用于搜索文档的LINQ表达式,以便外部模块不知道Azure搜索语法. >是否有可以实现它的库?由于Azure搜索很年轻,我无法在互联网上找到这样的.所有我发现的是RedDog包非常好,但仍然需要字段名称和比较操作作为字符串,有一天肯定会变得“神奇”.>好的,Azure Search也接受OData格式的查询.我见过很少的OData-query-to-LINQ-expression解决方案,但没有一个相反.我需要一个可以将LI...

c# – 如何使用LINQ合并树(和总和计数)?【代码】

说我有这些课程:public class Option {public int OptionID { get; set; }public bool IsSelected { get; set; } }public class Product {public int ProductID { get; set; }public int Quantity { get; set; }public List<Option> Options { get; set; } }假设在将一些Product对象添加到List< Product>之后,这将是我的结果. 2x产品1 OptionID 1 OptionID 1 OptionID 2 OptionID 2 2x产品1 Option...

c# – 使用Linq搜索数据表到数据集【代码】

我有一个用户信息的数据表.我正在尝试执行可以使用姓氏,用户ID或用户角色的搜索.我有一个名称和ID的搜索文本框以及用户角色的搜索下拉列表.并非所有都可以是空白的,但可以使用任何组合.我正在使用以下但不要认为它是正确的,因为它总是返回整个数据表:dtUsers.CaseSensitive = false; var results = dtUsers.AsEnumerable().Where(r => r.Field<String>("LASTNAME").Contains(tbName.Text.Trim())|| r.Field<String>("USERID").C...

c# – MVC控制器:在保存之前使用LINQ检查表中是否存在重复值?【代码】

我有以下Create() – 我的制造商实体的POST控制器:// POST: INV_Manufacturers/Create // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] public async Task<ActionResult> Create([Bind(Include = "Id,manufacturer_description,created_date,created_by,m...

c# – 如何使用Linq对包含集合的集合进行非规范化【代码】

我正在尝试转换以下集合: 资源"a", "b", {1,2,3} "d", "f", {1,2,2} "y", "z", {}目的地"a", "b", 1 "a", "b", 2 "a", "b", 3 "d", "f", 1 "d", "f", 2 "d", "f", 2 "y", "z", null我研究了它,并认为答案在于SelectMany()方法,但我似乎可以确定答案. 问题类似于:How do I select a collection within a collection using LINQ?对集合进行非规范化,但它没有显示如何包含相关列(在我的示例中为第1列和第2列). 不同之处在于我需要包...

c# – LINQ选择新模型而无需键入每个参数【代码】

是否有可能在LINQ中将两个表中的所有属性都获取到新的ViewModel而不列出PersonId,Email等.var person = (from o in db.Personsjoin od in db.OsobeDetails on o.PersonId equals od.PersonIdwhere o.PersonId == idselect new PersonViewModel{PersonId= o.PersonId,Email = o.Email}).ToList();就像是:... select new PersonViewModel(); 我尝试了这个,但我没有得到任何结果. “id”是方法的输入参数.解决方法:您可以覆盖PersonV...

c# – Linq to Entities日期部分优化【代码】

我正在尝试基于网站管理仪表板的日期字段的一部分创建明细(来自间隔分析图表).var drilldownQuery = DataManager.DataSessions.Include("Location").Include("Quote.Carriers").Include("Drivers").Include("Vehicles").Where(session =>session.Timestamp >= Model.FromDate &&session.Timestamp < through);if (!String.IsNullOrWhiteSpace(Model.DrillDown)){drilldownQuery = drilldownQuery.ToList().Where(session => Interv...