当前位置: 首页 > news >正文

C# EntityFramework笔记

EntityFramework是方便C#和数据库交互的库。

DbContext

我们继承DbContext弄一个类,构造函数输入数据库的连接字符串。

DbSet<>

DbContext里声明几个DbSet<>,可以使用.ToList()转换成列表。DbSet<>.ToString()得到使用的sql语句。

Entity类

要加[Table("表名")]特性。

主键加[Key]特性。

不指定表名会触发Code First模式,也就是C#找不到表就自己建一个。

查:DbSet<>.Where()

public void SearchByUserName(string userName) { using (MyDBContext myDBContext = new(LearnDB.conStr)) { var data = myDBContext.AccountEntities.FirstOrDefault(e => e.UserName == userName); } }

查全部

using (MyDBContext myDBContext = new(LearnDB.conStr)) { var data = myDBContext.AccountEntities.ToList(); Console.WriteLine(data.Count); foreach (var entity in data) { Console.WriteLine(entity.UserName); } }

public void Update(int Id,string email) { using (MyDBContext myDBContext = new(LearnDB.conStr)) { var data = myDBContext.AccountEntities.FirstOrDefault(e => e.Id ==Id); data.Email =email; myDBContext.SaveChanges(); } }

只能改在这个using区域得到的记录,保存才生效。在其他区域获得的记录想修改生效需要Attach。然后修改状态为Modified。

以Id或用户名为条件,查询后修改其中任意的属性,需要有多少个属性就写多少个方法重载?

http://www.gsyq.cn/news/1461353.html

相关文章:

  • Cline+DeepSeek-V4:终端原生AI工作流的工程化实践
  • Python入门:PyCharm下载安装与汉化教程
  • 2026年郑州喷码机厂家推荐榜:UV喷码机、高解析喷码机、手持喷码机选购全攻略 - 深度智识库
  • 【项目07】基于YOLOv8实现行人检测
  • 2026佛山包包回收榜单,盘活闲置奢包,解锁轻奢资产价值 - 奢侈品回收测评
  • 终极免费SWF反编译工具:JPEXS Free Flash Decompiler完全指南
  • taskt:零代码Windows自动化,解放双手的开源RPA利器
  • 终极指南:一键修复Visual C++运行库,彻底解决“DLL缺失“问题
  • 读博期间应该怎么提升自己的科研能力?
  • 利用PAM8403功放与旧手机打造低成本立体声音响系统
  • 树莓派4 USB SSD启动Ubuntu全攻略:告别SD卡,提升性能与可靠性
  • 酒店前台预订+后台管理全静态页面包,纯HTML/CSS/JS实现,开箱即用适合学生实训
  • 实战部署wvp-GB28181-pro:构建企业级视频监控平台的完整指南
  • 计算机毕业设计之基于echarts的心脏病健康管理大数据可视化系统的设计与实现
  • 计算机毕业设计之基于hadoop的河北省房价数据分析与可视化预测
  • 2026年度上海保鲜蔬菜冷库工程安装企业综合甄选推荐 - 品牌2026
  • 鸿蒙南向开发教程 Day 8:信号量三种类型详解
  • 2026 杭州高端全屋定制优选榜单|5 大品牌从环保、设计、落地全方位测评 - 商业新知
  • 流年寄钻戒,踏遍杭城街巷,找寻善待往事的靠谱回收店 - 奢侈品回收评测
  • 几十页文献一分钟就能读懂,文献解读神器实测
  • 2026北京美国留学中介哪家好?多家机构申请优势盘点 - 品牌2026
  • 3步彻底掌控Windows浏览器生态:EdgeRemover脚本的完整使用手册
  • 基于ESP32与TFT触摸屏的本地化智能灯带控制器DIY指南
  • 基于NodeMCU与Blynk的WiFi伺服电机远程控制系统搭建指南
  • 怎样永久保存微信聊天记录:免费开源工具完整指南
  • C++与C语言的核心区别是啥
  • Python与树莓派蓝牙控制机器人:从键盘遥控到GPIO传感器集成
  • 3步快速安装ModTheSpire:杀戮尖塔模组加载器终极使用指南
  • 基于Arduino与3D打印的SMARS机器人制作全攻略:从蓝牙遥控到智能避障
  • GUI是什么?超级详细