许凤元以湖南领导身份亮相,2岁宝宝食谱,疏水阀型号
asp.net core 是一个跨平台的高性能开源框架,用于生成基于云且连接 internet 的新式应用程序。 使用 asp.net core可以:
在nuget官网找到microsoft.entityframeworkcore包
网址:https://www.nuget.org/packages/microsoft.entityframeworkcore
然后在程序包管理控制台中输入 install-package microsoft.entityframeworkcore -version 2.2.4 点击回车
在依赖项nuget中出现microsoft.entityframeworkcore(2.2.4)包说明添加ef依赖成功。
也可直接在项目工程文件(*.csproj)中添加如下代码达到添加ef依赖的目的
<itemgroup> <packagereference include="microsoft.entityframeworkcore" version="2.2.4" /> </itemgroup>
在解决方案下新建.net core类库dal(同样记得添加ef依赖),在dal中新建数据库上下文(mydatacontext)和模型类(userinfo),代码如下:
using system.componentmodel.dataannotations; using system.componentmodel.dataannotations.schema; namespace dal { public class userinfo { [key] [databasegenerated(databasegeneratedoption.identity)] [required(errormessage = "不能为空")] [display(name = "用户id")] public int uid { get; set; } [required(errormessage = "不能为空")] [display(name = "用户名")] public string uname { get; set; } [required(errormessage = "不能为空")] [stringlength(50, errormessage = "长度不能超过50")] [display(name = "密码")] public string upws { get; set; } [required(errormessage = "不能为空")] [regularexpression(@"[a-za-z0-9._%+-]+@[a-za-z0-9]+\.[a-za-z]{2,4}", errormessage = "邮箱格式错误")] [display(name = "邮箱")] public string uemail { get; set; } [required(errormessage = "不能为空")] [stringlength(11, errormessage = "长度不能超过11")] [display(name = "联系方式")] public string utel { get; set; } } }
using microsoft.entityframeworkcore; namespace dal { public class mydatacontext : dbcontext { public mydatacontext(dbcontextoptions<mydatacontext> options) : base(options) { } public dbset<userinfo> userinfo { get; set; } protected override void onconfiguring(dbcontextoptionsbuilder optionsbuilder) { base.onconfiguring(optionsbuilder); } protected override void onmodelcreating(modelbuilder modelbuilder) { base.onmodelcreating(modelbuilder); } } }
备注:数据库上下文是为数据模型协调 entity framework 功能的主类 。 此类由 microsoft.entityframeworkcore.dbcontext
类派生而来。
在 asp.net core 中,服务(如数据库上下文)必须向依赖关系注入(di)容器进行注册。 该容器向控制器提供服务。
在startup.cs的configureservices()方法中添加如下代码:
var connection = "data source=.;initial catalog=testdb;user id=sa;password=svse;"; services.adddbcontext<mydatacontext>(options => options.usesqlserver(connection, b => b.migrationsassembly("testcore")));
备注:1、在项目运行时,会首先执行configureservices()方法。
2、连接数据库的字符串connection可配置在appsettings.json文件中,在此暂不做介绍。
打开程序包管理器控制台选择默认项目后 输入数据迁移命令:add-migration elen (elen随意输入)
pm> add-migration elen
迁移成功,生成文件migrations(可删除)
继续输入创建数据库命令update-database
向其应用新的迁移
pm> update-database
创建数据库成功,此时sqlserver2012中已存在数据库testdb
备注:1、生成数据库时会生成迁移历史表__efmigrationshistory,请勿删除。
2、在需要修改数据库字段时,切记不要直接在数据库修改,可在模型类中修改后运行update-database命令进行修改。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论