ASP.NET MVC- EF基础
EF是在ADO.NET的基础上做进一步封装,以后如果做新的项目我可能会考虑不用ADO.NET,而用EF。
其实很久以前我就接触过EF,可是太久没用,有些忘记了,前几天重温,也做了一点笔记。记录如下:
1.怎么创建EF不说了,看一下创建EF后,打开EF的XML文件是怎样的。
首先右键,选择打开方式为XML文本
折叠后这里的 SSDL Content定义的是SqlServer里的数据库字段
CSDL Content定义的是类的属性字段
CS MAPPING 定义的是数据库字段与类的属性字段间的映射
2.看一下tt模板
以前EF没有tt模板,现在加了,如果看得懂源码,是可以修改他的代码生成规则的,不过一般情况不用修改到它。
这里的ModelGuestBook.Context.tt后缀的是生成对象接口的代码
这里的ModelGuestBook.tt后缀的是生成Model类的代码。
3.看一下EF生成的数据库连接字符串
<add name="CcxDemoEntities" connectionString="metadata=res://*/ModelGuestBook.csdl|res://*/ModelGuestBook.ssdl|res://*/ModelGuestBook.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=CcxDemo;User ID=sa;Password=123456;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
加入了映身后变得长了许多。还是要以清楚看得数据库是改里,密码和用户名是改里,IP是改哪里的。
4.看一下增删查改的用EF的实现,变得多简洁
CcxDemoEntities db = new CcxDemoEntities(); protected void Page_Load(object sender, EventArgs e) { } //新增 protected void Button1_Click(object sender, EventArgs e) { gBook_Message gbookObj = new gBook_Message(); gbookObj.username = "ccx"; gbookObj.body = "hello world"; gbookObj.ip = "127.0.0.1"; gbookObj.createdate = DateTime.Parse("2014-12-12"); db.gBook_Message.Add(gbookObj); db.SaveChanges(); Response.Write("ok!!"); } //修改 protected void Button2_Click(object sender, EventArgs e) { //将对象查找出来 var gbookObj = db.gBook_Message.Where(g => g.username == "ccx").FirstOrDefault(); //修改的内容 gbookObj.username = "chunxiao"; //执行修改 db.SaveChanges(); } //删除 protected void Button3_Click(object sender, EventArgs e) { gBook_Message gbookObj = new gBook_Message(); gbookObj.id = 1; //将对象加进来 db.gBook_Message.Attach(gbookObj); //标记为删除 db.gBook_Message.Remove(gbookObj); //执行删除 db.SaveChanges(); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具