C# EntityFramework EF框架ModelFirst从模型生成数据库方法以及增删改查分享,无需手写SQL语句


前言

在c#中数据库方法需要手动写sql语句,比较麻烦,我最近在制作游戏时发现EF框架可以将操作数据库数据像访问List一样方便,于是自己研究了一下如何利用模型直接生成数据库

本文章重点展示如何使用模型生成数据库以及如何增删改查的方法,使用SQL数据库和SSMS数据库管理工具,如果有不严谨甚至错误的地方欢迎在评论区指出


一、EntityFramework是什么?

EntityFramework是微软研发的使用对象映射(ORM)技术,使用这套框架可以不写任何SQL语句做到对数据库的增删改查

二、操作步骤

1.Nuget包管理

演示项目框架为.NetFramework4.7.2,如果不使用.NetFramework框架可能导致在创建模型时报目标框架不支持的错误

NuGet管理器搜索EntityFramework 

2.编辑数据模型

在项目浏览器空白处选择添加->新建项,选择ADO.NET实体数据模型

选择空EF设计器模型

建出空的模型点击这个模型,屏幕中心右键新增实体,在我的理解中,新建的实体可以看做是一个数据库的表 

右键实体可以新增属性,点击对应属性 可以在右下角属性面板调整名称和值类型

新建关联可以让两个表建立起一对一,一对多等关系 

建立好数据表结构后右键空白处,根据模型生成数据库 

选择对应数据库,如果没有需要新建连接,连接数据库方法不在本章讨论范围 

点下一步一直到完成,可能会弹出安全警告,确认即可 

运行完毕后会生成后缀为sql的文件,这个是sql语句 

将sql文件拖入数据库管理工具,执行 ,执行完毕刷新后就可以看到对应数据表已经生成 

 

3.增删改查功能

1.增加新的数据

//要访问数据库需要先实例化一个容器,实例用变量保存下来,只需实例化一次
Model1Container model1 = new Model1Container();

model1.UserSet.Add(new User() { Account = "123", Password = "123456" });
model1.UserSet.Add(new User() { Account = "321", Password = "654321" });
model1.SaveChanges();//保存修改到数据库

2.删除数据

Model1Container model1 = new Model1Container();

//删除UserSet表的所有元素
foreach (var user in model1.UserSet)
{
   model1.UserSet.Remove(user);
}

model1.SaveChanges();

3.查询和修改

Model1Container model1 = new Model1Container();

//查询账号为123的用户
User user=model1.UserSet.Where(u=>u.Account=="123").FirstOrDefault();

if (user != null)
{
//修改用户123的密码为123456789
  user.Password = "123456789";
}
//保存修改到数据库
model1.SaveChanges();

4.名称问题

1.容器名称,也就是使用前需要实例化的类的名称

 2.数据类型名称和数据库表名称,点击对应实体即可修改

 名称修改后需要重新生成,数据库也需要重新只需生成的sql语句才可生效


总结

EF框架能让访问数据库的操作像访问列表一样简单清晰,让不理解sql语句的人也能轻松访问和修改数据库

新人第一次发博客,如果有用可以点一个赞

发博客的原因为:

1.我自己学习的东西也都来源于其他人分享的

2.记录自己的学习过程,以便以后随时查阅,同时想看看自己的方法是不是合适的

猜你喜欢

转载自blog.csdn.net/m0_72922928/article/details/130807503