【c#-在LINQ JOIN中添加第二个条件】教程文章相关的互联网学习教程文章

c# – .Net标准项目:缺少System.Linq.Enumerable类【代码】

在.Net Standard 1.5项目中(1.6从nuget安装). 我不能使用驻留在System.Linq.Enumerable中的Linq的扩展方法. 喜欢Where,选择LIST上的方法< string> 我已经安装了以下包:"System.Linq": "4.3.0", "System.Linq.Expressions": "4.3.0", "System.Linq.Queryable": "4.3.0",更新 例:using System.Linq;List<string> myList = new List(); myList = // suppose list got datamyList.Where( // Where is not available 注意 无法访问包...

c# – 在实体框架和Linq到实体中使用规范模式和表达式【代码】

我在通过Entity Framework / Linq-to-Entities访问数据库的存储库中有许多复杂的查询.通常,这些查询是由许多非平凡的子查询构建的.一般而言,子查询用于不同的存储库方法以及其他域逻辑.它们对于存储库层是外部的,但可以访问它是有意义的. 因此,我想使用规范模式来封装其中一些子查询. 我正在为我的规范类使用基类:public abstract class Specification<T> : ISpecification<T> where T : class {public abstract Expression<Func<...

c# – EF Core Linq使用方法Systax加入OR条件[复制]【代码】

参见英文答案 > LINQ – join with OR condition 2个如何将其转换为单个查询?var result1 = await _dbContext.Emails.Join(_dbContext.Sms,pn => pn.PNID,sms => sms.From_PNID.Value,(pn, sms) => new { sms, pn });var resut2 = await _dbContext.Emails.Join(_dbContext.Sms,pn => pn.PNID,sms => sms.To_PNID.Value,(pn, sms) => new { sms, pn });想拥有ON pn.PNID == sms.To_PNID或pn.P...

c# – 获取自定义linq lambda进行排序【代码】

是否可以为linq排序返回自定义lambda?// This is how I usually order stuff quarable.OrderBy(d => d.Something); // This is the signature of OrderBy I'm aiming for IOrderedQueryable<TSource> OrderBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector)我想要一个看起来像这样的结果static class SortingDevicesFiltersMethods {public static Expression<Func<TSource, TKe...

c# – linq按自定义类分组【代码】

我在DataTable上使用linq(在c#中),并且想知道如何按多个字段进行分组.我发现可以使用匿名类完成,例如var a = dt.AsEnumerable().GroupBy(e => new { name = e["Name"] })问题是,我的分组键是在运行时动态确定的.所以我改为尝试用词典分组:var a = dt.AsEnumerable().GroupBy(e => GetKey(e))其中GetKey(e)返回Dictionary< string,object>.这个想法是字典值取代了匿名类键和值.我的问题是linq查询不再按预期工作 – 它似乎根本不进...

c# – 如何使用Linq to Entities动态检索某些子类型的所有记录?【代码】

我试图获取指定类型的数据库中的所有对象的列表.我之前在编译时知道类型时已经这样做了,但是现在我试图将一个类型传递给方法并让方法返回该指定类型的所有记录,而我无法使其工作.我尝试过以下方法:public IList<WritingObject> GetBasicObjectsByProject(int projectId, Type oType){var results = from o in _objects.AsQueryablewhere o.Project.Id == projectId&& o.GetType() == oTypeselect o;return results.ToList<Writing...

c# – Linq to Entity Group by Date【代码】

做了很多研究,但仍然有一个艰难的研究.考虑具有“CreatedOn”,“Amount”,“Type”的事务表的数据库.我需要能够进行实体查询以获得按不同日期粒度(月/日等)组合在一起的特定类型的事务. 想象一下一张桌子:2011/1/22 $300 Deposit 2011/2/18 $340 Deposit 2011/3/6 $200 Other 2011/3/6 $100 Deposit 2011/3/7 $50 Deposit我可以有一个查询,它将按月分组所有存款,以便它可以产生:2011-1 $300 1deposit 20...

c# – Linq问题选择一列的总和减去另一个表的另一列【代码】

这是我的sql代码SELECT M.PartNo AS ModulePartNo, (SELECT SUM(Delivered - Allocated) FROM V_InStock Stk WHERE Stk.PartNo = M.PartNo) AS Available FROM V_Products M WHERE M.PartNo='100-25897'我真的有问题让这个在Linq工作,无法解决总和部分 – 任何帮助将非常感激解决方法:这应该工作.var query = from stk in V_InStockgroup stk by stk.PartNo into stkgwhere stkg.Key == '100-25897'select new{ModulePartNo = s...

c# – 如何创建动态“包含或LIKE”表达式,以便与Linq一起使用OData服务【代码】

我尝试使用System.Linq.Expressions.Expression(WPF / c#4.0)创建动态查询工具它针对OData服务运行. 到目前为止,只要我限制条件来构建Equal(..),GreaterThan(..)等选项,所有这些都有效.似乎没有build / Like条件的构建,所以我尝试构建自己的.那里已经有一些文章了.我试过的一个是How to create a System.Linq.Expressions.Expression for Like?. 现在如果我使用上面的解决方案,结果where表达式whereCallExpression = {Convert([100...

c# – 基于属性的Linq查询【代码】

进入另一个挑战.我查看了我在这里找到的一些问题,但我似乎无法拼凑出我需要的东西. 好的我有一个XML文件:<Output id="1"><path rename="Off" name="pattern-1">d:\temp</path></Output><Output id="2"><path isRename="False" name="pattern-1" >d:\temp\out2</path><path isRename="True" name="pattern-1" >d:\temp\out3</path><path isRename="False" name="pattern-1">d:\temp\out4</path></Output>我需要做的是找到< Output...

c# – System.Linq.Expressions.Expression for .OrderBy函数【代码】

我的代码的行部分是重复的. 您将看到下面的lambda表达式重复4次x => x.GetValue<string>("City")).ThenByDescending(x => HelperFunctions.strToTZDateTime(x.GetValue<string>("EventStartStr"), x.GetValue<string[]>("EventTimeZone")[0].ToString())代码示例://SORT DATAswitch (SortDetails){case ("Date"):default:if (SortOrder == "ASC"){_allEvents = _allEvents.OrderBy(x => HelperFunctions.strToTZDateTime(x.GetVal...

c# – LINQ to Entities字符串到十进制列【代码】

我已经研究过这个问题了.每个人和他们的兄弟想知道如何将int或decimal转换为字符串,但我找不到任何与EF相反的例子. 我的数据源在数据库中有一个order_amt列,其类型为varchar.原因是源数据已加密.解密器就是这样做的.我可以重写它来解密到临时表,然后将这些结果插入到正确类型的表中,但是当我们扩展应用程序时,现在和数据库更新期间需要分配更多工作. 我希望能够投射列,但我无法弄清楚如何使用Linq和EF.public ActionResult Orders_...

c# – LINQ查询,用于选择与对数组匹配的行【代码】

现在,我有一个名为TrainingPlan的类,如下所示:public class TrainingPlan {public int WorkgroupId { get; set; }public int AreaId { get; set; } }我得到了一些这样的实例,需要从数据库中加载匹配的培训计划. WorkgroupId和AreaId基本上形成复合键.我现在正在做的是循环遍历每个TrainingPlan,如下所示:foreach (TrainingPlan plan in plans)LoadPlan(pid, plan.AreaId, plan.WorkgroupId);然后,LoadPlan有一个LINQ查询来加载单...

c# – LINQ MVC ViewModel:使用可选字段连接到同一个表【代码】

给出以下数据库结构 类别 IDCategoryNameResIDParentCategory(可选) 资源 ID文本郎 并给出了一个ViewModelpublic class CategoryViewModel {public int ID { get; set; }public int CategoryNameResID { get; set; }public string CategoryName { get; set; }public int ParentCategory { get; set; }public string ParentCategoryName { get; set; } }我想获得包含ParentCategoryName的所有类别的列表 到目前为止我所做的是:var ...

c# – Linq to Entities左外连接分组为一个集合【代码】

from component in Materials.OfType<Container>().Where(m => m.Active) join segmentFinanceRating in segmentFinanceRatingView on component.Id equals segmentFinanceRating.MaterialId into segmentFinanceRatingGroup from segmentFinanceRatingWithDefault in segmentFinanceRatingGroup.DefaultIfEmpty() select new {id = component.Id,name = component.Name,subType = component.SubType,size = component.Size,Materi...