香油煎鸡蛋,99bt核工厂,少年阿宾快眼看书
efcore中没有dbfirst了吧,应该都是code first
先说说第一种,code first from database(dbfirst)数据库先行,这种方式就要命令行了...(特不喜欢命令行。。):
1.建好项目后通过 nuget 安装所需依赖性:
(1)microsoft.entityframeworkcore (2)microsoft.entityframeworkcore.design (3)microsoft.entityframeworkcore.sqlserver (4)microsoft.entityframeworkcore.sqlserver.design (5)microsoft.entityframeworkcore.tools
可以右键项目通过管理nuget程序包的方式安装,也可以通过命令安装(找到vs工具栏 ---> nuget 包管理器 ---> 程序包管理控制台):
注意选择默认项目
install-package microsoft.entityframeworkcore install-package microsoft.entityframeworkcore.tools install-package microsoft.entityframeworkcore.design install-package microsoft.entityframeworkcore.sqlserver install-package microsoft.entityframeworkcore.sqlserver.design
然后复制,粘贴,看到已用时间:xxxxxxx即可,
然后继续在程序包管理控制台再输入:
scaffold-dbcontext -connection "server=.;database=efcoredemo;uid=sa;pwd=123" microsoft.entityframeworkcore.sqlserver -outputdir "models"
-outputdir "models" 可不写,efcore中只能通过命令生成了,不能像以前ef6一样可以鼠标操作生成了,如果加上了则会在项目中添加models文件夹,生成的context和实体类都放到models文件夹中,如不加,实体则直接生成到项目中
最后在控制台测试一下
前面步骤都是一样的,建好项目,安装依赖包,不过code first好像需要安装两个依赖包就可以了
microsoft.entityframeworkcore.sqlserver microsoft.entityframeworkcore
编写studnet和classinfo实体类
然后在编写context上下文类,需要继承dbcontext
public class codefirstcontext : dbcontext { public codefirstcontext() { } public codefirstcontext(dbcontextoptions options) : base(options) { } public dbset<student> student { get; set; } public dbset<classinfo> classinfo { get; set; } protected override void onconfiguring(dbcontextoptionsbuilder optionsbuilder) { if (!optionsbuilder.isconfigured) { optionsbuilder.usesqlserver("server=.;database=efcorecodefirst;uid=sa;pwd=123"); } } protected override void onmodelcreating(modelbuilder modelbuilder) { } }
基本上跟ef6差不多的,写好之后测试一下就ok了:
using (codefirstcontext db = new codefirstcontext()) { db.database.ensurecreated(); //数据库不存在则创建,存在则不管 db.add(new classinfo { classname = "软件二班" }); var result = db.savechangesasync().result; console.writeline(result > 0 ? "成功了" : "失败了"); }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论