CSharp使用EF与数据库交互

.NET
433
0
0
2022-07-19
标签   C#

今天为了安装VS2017,结果C盘空间不够,只能把电脑重装了一下,一搞就是一天。说句良心话,VS是真的很大~~~。好了,废话不多说,开始记录今天的内容。

EF,全称为Entity Framework,字面意思就是实体框架。那这个是个啥呢?

C#与数据库交互的方式有好几种,昨天的文章使用的是传统方式--ADO.NET,EF是在ADO.NET的基础上的一种更高层的封装方式。

说了一大通,其实并不是很好理解。其实呢,用大白话来说就是先设计好数据库和表,然后通过EF这个东西,将表生成同名的一个类(C#),类中的属性和类型与数据库的表是一一对应的,也就是说表中的字段叫name ,varchar 类型,生成的属性就叫name ,对应string 类型。然后现在要做的不是通过SQL语句,而是通过面向对象的思想写C#代码对数据库进行操作。

理论说完了,接下来搞一下实践。

1、打开数据库,先创建一个表:

CSharp使用EF与数据库交互

这里需要注意的是最好在建表的时候给表指明主键,否则在使用EntityFramework时不一定会生成实体模型。虽然不设主键也不会有问题,但是规范起见还是设一个吧!

2、创建一个C#项目,在项目上右键添加-新建项,找到ADO.NET实体数据模型,顺便给它取个名字。

CSharp使用EF与数据库交互

3、点击添加后,在弹出窗口上选择来自数据库的Code First,点击下一步即可。

CSharp使用EF与数据库交互

4、然后会出现下面的界面,点击新建连接,在弹出的窗口数据源中选择Microsoft Sql Server,点击继续

CSharp使用EF与数据库交互

5、根据提示选择和填写相关信息,其实就是配置连接数据库的字符串啦,只不过不需要我们自己手动写了。以防万一可以测试连接一下哦~~

CSharp使用EF与数据库交互

6、点击是,并点击保存到App.Config中。下一步

CSharp使用EF与数据库交互

7、选择自己想生成的表。

CSharp使用EF与数据库交互

耐心等待生成就好。在实际使用中建议大家创建一个文件夹用于管理所有的实体模型,而不是像我这样随便放放的~~

CSharp使用EF与数据库交互

UserInfo.cs就是UserInfo表对应的实体模型。有兴趣可以研究一下这两个类中的代码,现阶段先实现了再说,毕竟实现了有成就感,然后就会发现EF这个东西是真好用啊,根本不想用ADO.NET写SQL语句啦····

到目前,所有的准备工作做好了,接下来要用它了。。。

CSharp使用EF与数据库交互

运行调试一下,顺便观察一下数据库,发现没毛病,又一次一遍过了。嘿嘿~~~

CSharp使用EF与数据库交互

顺便记录一下今天启动Sqlserver遇到的问题。安装成功后发现登录时报错,提示说与Sql Server建立连接时出现与网络相关的或特定于实例的错误。始终无法登录数据库。一开始还以为服务没开启,实际上确实是没有开启的,这是因为在安装VS2017时给我安装了一个高版本的SQL SERVER2016,导致进不去低版本的SQL SERVER,这时需要打开控制面板,将 Microsoft SQL Server 2016 Express LocalDB找到并卸载了,这时打开SQL 2008的配置管理器就可以正常启动SQL2008的服务了。