Web Api Core 8.0毗连sql server 利用脚手架Tools天生数据库实体以及数据库
1.毗连情况需要引入的NuGet包https://i-blog.csdnimg.cn/direct/797016d5fdde457ba93e1d0e9adb794b.png
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
注意:小伙伴们注意我NuGet包引入的版本都是8.0.7,尽量跟你创建的Web项目版本一样(8.+都行),如果不同后面脚手架天生会报错的应该是兼容性或者依赖性的问题等等
这个就是建Web项目框架的版本
https://i-blog.csdnimg.cn/direct/7cc8860f9d6746e38ad906a780a3389f.png
情况设置就可以举行毗连了
2.在appsettings文件设置我们的毗连字符串
https://i-blog.csdnimg.cn/direct/c598fb59dd0447ec82e4c38f8b16d721.png
"ConnectionStrings": {
"DefaultString": "Data Source=Win10p22h2vm;Initial Catalog=UserInfo; User ID=sa;Password=123456;TrustServerCertificate=True"
},
要把毗连字符串改成自己的奥
Data Source是毗连数据的服务器名称
Initial Catalog是数据库的名称
User ID=name;Password=******对应数据库利用Sql server身份认证的方式登录的账号密码
TrustServerCertificate=True证书链接的问题,加上可以绕过这个问题
3.创建数据库数据库上下文DataContext,继承EF Core的DbContext
https://i-blog.csdnimg.cn/direct/3af7d156eb3542079a0db9ec7cf0d991.png
using Microsoft.EntityFrameworkCore;
namespace Sql_Server_Tools.Models
{
public class DataContext:DbContext
{
//这段代码界说了一个构造函数。DataContext 类继承自某个基类(是 DbContext ),
//通过这个构造函数接收 DbContextOptions<DataContext> 范例的参数,并将其转达给基类的构造函数。
//这使得 DataContext 能够获取和利用设置的数据库毗连选项
public DataContext(DbContextOptions<DataContext> options):base(options)
{
}
//OnModelCreating方法是EF Core 的 DbContext 类中用于自界说实体模型的设置和关系映射的
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
}
//这是重写了基类中的 OnConfiguring 方法。在这个方法中,调用了基类的同名方法。通常,在这个方法中可以举行一些额外的数据库设置设置,
//比如设置毗连字符串、启用日志记录、设置数据库提供步伐的特定选项等。但在当前给出的代码中,没有举行额外的自界说设置。
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
}
}
}
4.利用脚手架天生数据库上下文,以及实体类
4.1:在界面最上方找到工具-》NuGet包管理器-》步伐包管理器控制台
4.2输入命令
Scaffold-DbContext "YourConnectionString" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Scaffold-DbContext:是 Entity Framework Core 工具提供的一个命令,用于根据现有数据库结构天生数据库上下文和实体类
"YourConnectionString":这是数据库的毗连字符串也就是上面在appsettings文件中设置的毗连字符串
Microsoft.EntityFrameworkCore.SqlServer:指定要利用的数据库提供步伐,这里表现利用的是针对 SQL Server 的提供步伐
-OutputDir Models:这是一个选项,用于指定天生的实体类和数据库上下文文件的输出目次。在这个例子中,天生的文件将被放置在名为 Models 的文件夹中(也可以自己界说一个路径哦)
我的命令就是这样子的
https://i-blog.csdnimg.cn/direct/d15a6132f8a0465d805e6404ad951b44.png
Build started...开始构建
Build succeeded 构建成功
黄色告诫是毗连字符串不安全,可以不消管(上面我讲了如果版本不同就可能会导致这里会天生报错的)
https://i-blog.csdnimg.cn/direct/99901e149b3846e197d2b6204b53cf2d.png
https://i-blog.csdnimg.cn/direct/e0aba27932f742d3b572d40b611ddaed.png
可以看到脚手架已经都资助我们都天生好了上下文和实体类,非常方便
5.在Program文件来设置毗连服务注入
https://i-blog.csdnimg.cn/direct/a46a5a037cb94136994efa6e83ed2126.png
//设置毗连服务数据库上下文注入
string ConnectionString = builder.Configuration.GetConnectionString("DefaultString");
builder.Services.AddDbContext<UserInfoContext>(options => options.UseSqlServer(ConnectionString));
6.上面设置完就可以对我们的数据库举行增删改查的操纵啦,我自己写了简朴的查询来测试一下是否可以正常对数据库举行操纵,看如下图可以看出也是可以操纵的
https://i-blog.csdnimg.cn/direct/55e6ce58d61e43f9a8426b4a461733e2.png
末了的末了,细节的小伙伴会发现我们写了两个数据库上下文的DataContext和UserInfoContext,一个内里什么都没有写,一个是脚手架资助我们写的,我们的列表查询操纵就是对UserInfoContext举行的操纵,这里说一下,我们自己创建的上下文的类可以不消写,也是可以的,自己界说一个上下文类它可以满足定制化需求,处置惩罚一些关系复杂的设置等等,练习的时候还是写上养成好的习惯,好了,结束
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]