Tag: linq

当数据源为Linq时,访问ItemDataBound事件中的列

我使用以下代码设置数据源: protected void Page_Load(object sender, EventArgs e) { var vacancies = from v in db.Vacancies join c in db.Customers on v.CustomerID equals c.CustomerID join cp in db.CustomerPortals on c.CustomerID equals cp.CustomerID where cp.PortalID == Master.Portal.ID select new { Title = v.Title, Internship = (v.ContractID == 6), Hours = v.Hours, City = v.Customer.City.Name, Degree = v.Degree.Title, […]

如何在LINQ中使用DATEADD over column – LINQ无法识别DateAdd

我试图使不到30天前被请求的友谊请求无效。 var requestIgnored = context.Request .Where(c => c.IdRequest == result.IdRequest && c.IdRequestTypes == 1 && c.Accepted == false && DateTime.Now <= (((DateTime)c.DateResponse).AddDays(30))) .SingleOrDefault(); c.DateResponse的类型是DateTime? 。 我遇到的错误是: LINQ无法识别命令.AddDays

Linq其中值在Array中

IEnumerable periods = new string[] {“ABC”, “JKD”, “223A”}; var someData = from p in returns from d in p.ReturnDet where p.Year > 2009 where d.Period 如何选择句点数组中包含d.periods的值?

在C#中找到两个集合的补充的最快方法

我有两个类型ICollection集合,名为c1和c2 。 我想找到c2中不在c1的项集,其中相等的启发式是MyType上的Id属性。 在C#(3.0)中执行此操作的最快方法是什么?

Linq没有选择数据表

您好我有2个数据表(禁止列表,国家列表),两个都包含国家名称和鳕鱼列表cc和国家。 我正在尝试进行查询,我可以从countrylist表中选择不在bannedlist表中的国家,以便创建第3个表。 有任何想法吗? 我对此并不太了解。 var ccList = ds.Tables[2].AsEnumerable(); var bannedCCList = ds.Tables[1].AsEnumerable(); var query = from r in ccList…. .. 在尝试之后 var bannedCCList = ds.Tables[1].AsEnumerable(); var query = from r in ccList where !bannedCCList.Any(b => b[“cc”] == r[“cc”])select r; 我仍然得到相同的国家名单。 被禁止的人没有被删除。 这里有更多细节,以便解释更多。 不知道我做错了什么 protected void BindCountryBan(string subd) { DataSet ds = new DataSet(); ds = […]

如何检查我的List 中的任何单词是否包含在文本中

我有一个 List words = new List {“word1”, “word2”, “word3”}; 如果我的字符串包含任何这些单词,我想检查使用linq; Smthng喜欢: var q = myText.ContainsAny(words); 第二,如果我也有一个句子列表: List sentences = new List { “sentence1 word1” , “sentence2 word2” , “sentence3 word3”}; 并且还要检查这些句子中是否包含任何这些单词! var q = sentences.Where(s=>words.Any(s.text))….

linq group by,order by

我有以下清单 ID Counter SrvID FirstName — —— —– ——— 1 34 66M James 5 34 66M Keith 3 55 45Q Jason 2 45 75W Mike 4 33 77U Will 我喜欢做的是按ID按升序排序,然后得到Counter,SrvID的第一个值相同(如果有的话)。 所以输出将是这样的: ID Counter SrvID FirstName — —— —– ——— 1 34 66M James 2 45 75W Mike 3 55 45Q Jason 4 33 77U Will […]

EntityFramework 5过滤包含的导航属性

我想找到一种方法使用Linq将导航属性过滤到相关实体的子集。 我知道围绕这个主题的所有答案建议做一个匿名选择器,如: query.Where(x => x.Users.Any(y => y.ID == actingUser.ID)) .Select(x => new { Event = x, Discussions = x.Discussions.Where(actingUser.GenerateSecurityFilterFor()) }) .OrderBy(x => x.Discussions.Count()) .ThenBy(x => x.Event.Name); 但是,由于我们的查询生成的一般性质,这显然不太理想,如果你抛出探查器,也会产生非常可怕的SQL查询。 我希望能够完成以下事情: query.Include(x => x.Discussions.Where(actingUser.GenerateSecurityFilterFor())) .OrderBy(x => x.Discussions.Count()) .ThenBy(x => x.Name); 我意识到EF5(或任何版本)都不支持这一点,但必须有一种方法可以通过Linq完成对结果集的约束,而无需深入研究匿名类型的select语句。 我试图做一些事情: query.GroupJoin(discquqery, x => x.ID, x => x.Event.ID, (evt, disc) => evt.Discussions = disc.Where(actingUser.GenerateSecurityFilterFor())).ToList(); 但是,您无法在lambda表达式中进行赋值,并且选择匿名类型会导致使用select时遇到的相同困境。 我想我无法理解为什么EF没有提供一种方法(我能找到)来生成: SELECT […]

重写LINQ表达式查询以启用缓存SQL执行计划

在阅读有关entity framework性能的文章时,我发现了这条信息: 其次,问题[SQL Server不会重用执行计划]首先发生因为(由于实现细节)将int传递给Skip()和Take()方法,Entity Framework无法查看是否它们传递的绝对值如Take(100)或变量如Take(resultsPerPage),因此它不知道该值是否应该参数化。 建议的解决方案是改变这种代码风格: var schools = db.Schools .OrderBy(s => s.PostalZipCode) .Skip(model.Page * model.ResultsPerPage) .Take(model.ResultsPerPage) .ToList(); 在这种风格: int resultsToSkip = model.Page * model.ResultsPerPage; var schools = db.Schools .OrderBy(s => s.PostalZipCode) .Skip(() => resultsToSkip) //must pre-calculate this value .Take(() => model.ResultsPerPage) .ToList(); 这允许entity framework知道这些是变量,并且生成的SQL应该被参数化,这反过来允许重用执行计划。 我们的应用程序中有一些代码以相同的方式使用变量,但我们必须在运行时构建Expression,因为事先不知道类型。 以下是它过去的样子: var convertedId = typeof(T).GetConvertedIdValue(id); var prop = GetIdProperty(typeof(T)); […]

通用可变参数

从dahlbyk回答这个问题:将两个列表映射到C#中的字典中 ,Leppie写了这样的评论: 遗憾的是需要一种Zip方法。 如果只有更多静态类型的语言支持通用的可变参数,Select会处理这个(比如Scheme中的map)。 – leppie 那是什么意思? (我不知道Scheme):)