前言
在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.记录自己的学习过程,以便以后随时查阅,同时想看看自己的方法是不是合适的