轻松使用asp.net 中的数据库,使用代码和命令行,借助于localdb实现数据库的阶段修改,最终使用sql server提供服务。

本文介绍了如何安装SQLServer,设置身份验证,使用LocalDB进行开发项目中的数据库连接,包括创建迁移、重置数据库和应用更新。还涉及了如何在.NET项目中使用dotnet-ef工具管理数据库,以及将数据库从LocalDB迁移到SQLServer的过程。
摘要由CSDN通过智能技术生成

首先需要安装:sql server数据库,选择 windows身份验证和sql server 身份验证,或者先选择windows身份验证,并勾选localdb。

打开sql server身份验证,可以在使用windows身份验证登录之后,在连接上右键点开属性-安全性 

在 服务器身份验证中 勾选: 

 并确定。

 紧接着,我们首先介绍一下如何在开发项目时如何使用localdb。

数据库连接字符串

"ConnectionStrings": {
    "SportsStoreConnection": "Server=(localdb)\\MSSQLLocalDB;Database=SportsStore;MultipleActiveResultSets=true",
    "IdentityConnection": "Server=(localdb)\\MSSQLLocalDB;Database=Identity;MultipleActiveResultSets=true"
  }

开发阶段,卸载appsettings.json即可。

localdb使用上面的字符串即可。

 

我们先编写 模型以及数据库上下文类。

 然后右键项目-通过终端打开

我们要使用的时dotnet-ef工具:

我们首先进行安装:

安装ef

dotnet tool install --global dotnet-ef

下面时3个命令:

1创建数据库迁移

dotnet ef migrations add Initial

后面的一个名字表明一个版本,同时我们也可以使用类似于dog1,dog2等名字,只需要知道不同的名字代表一个版本,同时可以在

中找到迁移代码,如果需要,这写代码可以安全删掉,只需要重新创建一个版本。 

2重置数据库

dotnet ef database drop --force --context StoreDbContext

3应用更新

dotnet ef database update --context StoreDbContext

默认情况下,dotnet ef 工具会搜索项目中的所有类文件,但你也可以通过使用 --project 参数来指定要搜索的项目文件。例如,--project MyProject.csproj 表示只搜索名为 MyProject.csproj 的项目文件中的类。

当 dotnet ef 工具找到上下文类后,它会使用该类来执行相应的数据库操作,比如应用迁移或生成数据库脚本。

如果有多个数据库上下文,比如,我的项目(来自书中)包含了一个商店和一个身份验证,在创建迁移的时候也需要指定上下文。

PS C:\Users\betha\source\repos\SportStore\SportStore> dotnet ef migrations add Year --context StoreDbContext
Build started...
Build succeeded.
The Entity Framework tools version '7.0.10' is older than that of the runtime '8.0.0-preview.6.23329.4'. Update the tools for the latest features and bug fixes. See https://aka.ms/AAc1fbw for more information.
Done. To undo this action, use 'ef migrations remove'

我们也可以 使用 ef migrations remove 撤销迁移。

如果自己的代码中包含迁移代码,那么可以不用指令3,直接运行数据库也会完成迁移。

比如下面的种子数据填充类的(只会迁移特定上下文的数据库) 

 

 我试试,使用指令3能不能完成迁移

执行之后,竟然完成了迁移

因为这个书中的项目我已经改为了sql server数据库,之前使用的时localdb数据库。

这种做法可以省略自己手动创建数据库和数据表的麻烦。 

接下来,就该使用sql server连接数据库了。

首先创建登录用户,在

中,连接到数据库连接。

 

中新建登录名。

注意取消勾选: 强制实施密码策略,勾选之后,密码会在每一次使用该账户登录后(下一次登录)就需要更改,之前的密码已经失效。 

 紧接着,我们需要配置

一般位于 

找到

 启用右侧的3个协议,确保可以远程连接(tcp等)

双击tcp/ip ,可以查看可以连接的ip地址

包含ipv4和ipv6地址。

勾选127.0.01 和其他地址(想要测试的地址)

可以选择启用 (已启用 选择为是)

 提示需要 重启之后才能反映更改,

 

如图所示,右键选择重启

迁移数据库到sql server,一般localdb数据库文件位于

 

 

数据库连接-数据库-附加,把刚才找到的数据库文件复制到 c盘之外,选择添加,点击mdf文件,并确定即可。

 

然后我们就可以使用sql server进行连接了。

我们取消 种子数据类的调用。 种子数据类用于localdb。(种子数据已经填充完毕,数据库已经较为完备,无需迁移(可以直接使用ef工具,完成sql server的迁移)) 。

进入上线工作或测试上线工作。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫叶kx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值