首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

#linq

linq:内连接为空值?

小狼学习一切

当你做一个INNER JOIN,NULL值,与任何东西都不匹配。这就是为什么您的查询不返回任何行。

LINQ中何时使用SingleOrDefault与FirstOrDefault()?

秋之夕颜清念念不忘,必有回响
如果结果集返回0个记录: SingleOrDefault 返回类型的默认值(例如,默认值为0) FirstOrDefault 返回类型的默认值 如果结果集返回1记录: SingleOrDefault 返回该记录 FirstOrDefault 返回该记录 如果你的结果集返回许多记录: SingleOrDefault 抛出异常 FirstOrDefault 返回第一条记录 结论: 如果要在结果集包含许多记录时引发异常,请使用SingleOrDefault。 如果您总是需要1条记录,无论结果集包含什么,请使用 FirstOrDefault... 展开详请

.Any()和 .Count()> 0哪个方法执行得更好?

由于这是相当热门的话题,答案不同,我不得不重新审视一下问题。 测试环境: EF 6.1.3,SQL Server,300k记录 表模型: class TestTable { [Key] public int Id { get; set; } public string Name { get; set; } public string Surname { get; set; } } 测试代码: class Program { static void Main() { using (var context = new TestContext()) { context.Database.Log = Console.WriteLine; context.TestTables.Where(x => x.Surname.Contains("Surname")).Any(x => x.Id > 1000); context.TestTables.Where(x => x.Surname.Contains("Surname") && x.Name.Contains("Name")).Any(x => x.Id > 1000); context.TestTables.Where(x => x.Surname.Contains("Surname")).Count(x => x.Id > 1000); context.TestTables.Where(x => x.Surname.Contains("Surname") && x.Name.Contains("Name")).Count(x => x.Id > 1000); Console.ReadLine(); } } } 结果: 任何()?3ms Count()?230ms为第一个查询,?400ms为秒 备注: 对于我的情况,EF没有像他在帖子中提到的@Ben那样生成SQL。... 展开详请

对于IEnumerable <T>的foreach相当于LINQ?

嗨喽你好摩羯座
你可以使用FirstOrDefault()可用的扩展名IEnumerable<T>。通过false从谓词返回,它将为每个元素运行,但不会在乎它实际上找不到匹配。这将避免ToList()开销。 IEnumerable<Item> items = GetItems(); items.FirstOrDefault(i => { i.DoStuff(); return false; });... 展开详请

IEnumerable <T>上的动态LINQ OrderBy?

akjok54stay hungry stay foolish
没有任何并发??症不太容易: using System.Linq.Dynamic;在顶部添加。 使用 vehicles = vehicles.AsQueryable().OrderBy("Make ASC, Year DESC").ToList();... 展开详请

使用LINQ对List <string>中的所有字符串进行Concat?

Ne_biubiubiu这就是世界结束的方式
在.NET 4.0和更高版本中: String.Join(delimiter, list); 对于旧版本,必须: String.Join(delimiter, list.ToArray());... 展开详请
领券
http://www.vxiaotou.com