EF 如何按条件更新某个字段

Model User: ID / Name / No
现在要将所有User.No更新为 abc, 用EF怎么做?

一定要将所有记录查询出来,然后将No赋为abc, 然后SaveChanges()吗?
...全文
1137 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 版主 2015-11-10
  • 打赏
  • 举报
回复
我所知道的两种方法 1 var q=data.FirstOrDefault()...... q.属性=..... savechange(); 2 使用 UpdateModel 这个具体你看一下 http://www.cnblogs.com/Fred_Xu/archive/2011/09/11/asp-net-mvc-using-controller-updatemodel-when-using-a-viewmodel.html 大体就是 updateModel会根据表单传递过来的参数,反射到对象,实现更新
  • 打赏
  • 举报
回复
扩展方法 http://bbs.csdn.net/topics/380099400
Rajesh_James 2015-11-09
  • 打赏
  • 举报
回复
使用 ef 扩展, 或者直接使用 ef 执行 sql 语句
资源下载链接为: https://pan.quark.cn/s/9e7ef05254f8 在MySQL数据库中,GROUP BY语句主要用于对数据进行分组,并配合聚合函数(如COUNT()、SUM()、AVG()、MAX()、MIN()等)对每个分组进行统计计算。然而,在某些情况下,我们可能需要在分组后获取每个分组的前N条记录,例如在统计分析或排名场景中。以下将介绍三种在MySQL中通过GROUP BY分组获取前N条记录的方法。 这种方法通过LEFT JOIN将表与自身连接,连接条件是同分组且当前记录的值小于连接的记录值。然后使用GROUP BY进行分组,并通过HAVING子句筛选出每个分组中满足条件(小于某值的记录数少于N)的记录。最后按分组字段和值字段排序。例如,获取每个班级分数最高的前两名学生: 这种方法通过嵌套子查询来统计每个分组中大于当前记录值的记录数。外层查询根据子查询的结果筛选出满足条件(大于当前值的记录数少于N)的记录,然后按分组字段和值字段排序。例如: 这种方法尝试通过子查询获取每个分组的前N条记录的标识字段(如id),然后在外层查询中根据这些标识字段选取记录。然而,由于MySQL版本限制,这种方法可能不被支持,因为它涉及LIMIT子句与IN子查询的组合。例如: 在实际应用中,应根据MySQL的版本和性能需求选择合适的方法。方法一和方法二都是可行的解决方案,但在处理大数据量时,它们的效率可能会有所不同。为了优化性能,可以考虑为相关字段创建索引,以加速JOIN和子查询的操作。 总的来说,MySQL中的GROUP BY不仅可以用于简单的聚合计算,还可以结合JOIN、HAVING和子查询等语句实现复杂的查询需求,例如获取每个分组的前N条记录。熟练掌握这些技巧,有助于提升数据库查询的效率和灵活性。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧