腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
首页
标签
linq
#
linq
关注
专栏文章
(47)
技术视频
(0)
互动问答
(9)
linq:内连接为空值?
2
回答
linq
、
连接
小狼
学习一切
当你做一个INNER JOIN,NULL值
,与任何东西都
不匹配。这就是为什么您的查询不返回任何行。
赞
0
收藏
0
评论
0
分享
当你做一个INNER JOIN,NULL值,与任何东西都不匹配。这就是为什么您的查询不返回任何行。
LINQ中何时使用SingleOrDefault与FirstOrDefault()?
2
回答
linq
、
msdn
、
异常
秋之夕颜清
念念不忘,必有回响
如果结果集返回0个记录: SingleOrDefault 返回类型的默认值(例如,默认值为0) FirstOrDefault 返回类型的默认值 如果结果集返回1记录: SingleOrDefault 返回该记录 FirstOrDefault 返回该记录 如果你的结果集返回许多记录: SingleOrDefault 抛出异常 FirstOrDefault 返回第一条记录 结论: 如果要在结果集包含许多记录时引发异常,请使用SingleOrDefault。 如果您总是需要1条记录,无论结果集包含什么,请使用 FirstOrDefault...
展开详请
赞
0
收藏
0
评论
0
分享
如果结果集返回0个记录: SingleOrDefault 返回类型的默认值(例如,默认值为0) FirstOrDefault 返回类型的默认值 如果结果集返回1记录: SingleOrDefault 返回该记录 FirstOrDefault 返回该记录 如果你的结果集返回许多记录: SingleOrDefault 抛出异常 FirstOrDefault 返回第一条记录 结论: 如果要在结果集包含许多记录时引发异常,请使用SingleOrDefault。 如果您总是需要1条记录,无论结果集包含什么,请使用 FirstOrDefault
.Any()和 .Count()> 0哪个方法执行得更好?
2
回答
count
、
linq
、
system
、
集合
不知雨
由于这是相当热门的话题,答案不同,我不得不重新审视一下问题。 测试环境: 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。...
展开详请
赞
0
收藏
0
评论
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?
2
回答
foreach
、
linq
、
语法
嗨喽你好
摩羯座
你可以使用FirstOrDefault()可用的扩展名IEnumerable<T>。通过false从谓词返回,它将为每个元素运行,但不会在乎它实际上找不到匹配。这将避免ToList()开销。 IEnumerable<Item> items = GetItems(); items.FirstOrDefault(i => { i.DoStuff(); return false; });...
展开详请
赞
0
收藏
0
评论
0
分享
你可以使用FirstOrDefault()可用的扩展名IEnumerable<T>。通过false从谓词返回,它将为每个元素运行,但不会在乎它实际上找不到匹配。这将避免ToList()开销。 IEnumerable<Item> items = GetItems(); items.FirstOrDefault(i => { i.DoStuff(); return false; });
IEnumerable <T>上的动态LINQ OrderBy?
2
回答
sql
、
iqueryable
、
linq
、
排序
akjok54
stay hungry stay foolish
没有任何并发症不太容易: using System.Linq.Dynamic;在顶部添加。 使用 vehicles = vehicles.AsQueryable().OrderBy("Make ASC, Year DESC").ToList();...
展开详请
赞
0
收藏
0
评论
0
分享
没有任何并发症不太容易: using System.Linq.Dynamic;在顶部添加。 使用 vehicles = vehicles.AsQueryable().OrderBy("Make ASC, Year DESC").ToList();
使用LINQ对List <string>中的所有字符串进行Concat?
2
回答
linq
、
list
、
string
、
连接
、
字符串
Ne_biubiubiu
这就是世界结束的方式
在.NET 4.0和更高版本中: String.Join(delimiter, list); 对于旧版本,必须: String.Join(delimiter, list.ToArray());...
展开详请
赞
0
收藏
0
评论
0
分享
在.NET 4.0和更高版本中: String.Join(delimiter, list); 对于旧版本,必须: String.Join(delimiter, list.ToArray());
热门
专栏
全栈文档库
144 文章
26 订阅
历史专栏
1.2K 文章
38 订阅
繁依Fanyi 的专栏
893 文章
34 订阅
技术之路
224 文章
28 订阅
哲学驱动设计
187 文章
52 订阅
热门
标签
更多标签
ICP备案
云服务器
对象存储
云点播
即时通信 IM
实时音视频
DNS 解析 DNSPod
内容分发网络 CDN
人脸识别
私有网络
python
java
javascript
人工智能
android
领券