.NET使用一行命令轻松生成EF Core项目框架
dotnet ef是Entity Framework Core(EF Core)的一个命令行工具,用于管理EF Core应用程序的数据库和代码。除了提供管理数据库的命令之外,dotnet ef还可以生成和管理实体和上下文代码。本文将介绍如何使用dotnet ef动态生成代码。
【资料图】
一、环境准备
1、项目准备
用vs2022新建一个.NET6的asp.net core mvc项目,然后按照:工具->Nuget包管理器->nuget管理解决方案包。安装一些nuget包
Microsoft.EntityFrameworkCore.DesignMicrosoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Tools
或者用nuget命令安装
Install-Package Microsoft.EntityFrameworkCore.DesignInstall-Package Microsoft.EntityFrameworkCore.SqlServerInstall-Package Microsoft.EntityFrameworkCore.Tools
2、安装dotnet ef
工具->Nuget包管理器->程序包管理控制台
执行 dotnet tool install --global dotnet-ef --version x.x.x 注:这里的包版本要和上面的版本一致,这个包直接通过右键管理程序nuget包方式安装会报冲突错误,谁知道原因可以说一下。
安装成功标志
二、生成代码
在vs2022中点击项目右键,选择"在终端中打开"。在命令行中运行以下命令,生成实体类,模型的代码:
dotnetefdbcontextscaffold"DataSource=.;InitialCatalog=Wan;PersistSecurityInfo=True;UserID=sa;Password=654321;TrustServerCertificate=true"Microsoft.EntityFrameworkCore.SqlServer --output-dir Entities --context NewDbContext
上面脚本解释:
scaffold后面是数据库链接字符串,--output-dir参数指定输出目录,--force参数表示强制覆盖生成的文件。运行这个命令将生成一个或多个实体类的代码。--context参数为指定上下文类的名称。
亦可以用以下命令一键生成。
dotnetefdbcontextscaffold"DataSource=.;InitialCatalog=Wan;PersistSecurityInfo=True;UserID=sa;Password=654321;TrustServerCertificate=true"Microsoft.EntityFrameworkCore.SqlServer-oModels
-o Models的意思是将生成的实体类文件输出到名为Models的文件夹中。这里没有指定上下文,默认上下文的文件名为数据库名称。
效果如下:
片段代码如下:
小插曲:
在生成代码时遇到如下问题:
A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。)
解决方法直接在“数据库连接字符串最后面”增加证书信任的配置。;TrustServerCertificate=true。
结语
使用dotnet ef可以轻松地生成实体和上下文类的代码。在EF Core应用程序中,这是一个非常方便的工具,因为它可以减少手动编写代码的时间,并提供了基本的代码框架,使您可以专注于业务逻辑的实现。本文介绍了它的实现步骤,仅供参考,希望本文对你有所收获,同时欢迎留言和吐槽。
****参考:微软官网文档
来源公众号:DotNet开发跳槽
关键词:
责任编辑:meirong
-
.NET使用一行命令轻松生成EF Core项目框架
-
堪培拉的代理商转向虚拟分期出售房屋-世界最资讯
-
纳兰德2022年净利999.66万同比增长14.96%毛利率小幅上升-每日热点
-
环球热头条丨森泰环保2022年亏损3289.32万同比由盈转亏 环保工程业务收入下滑
-
一灯二控开关接线图_一灯一开怎么安装图
-
焦点快看:终极斗罗:有人成神吞噬父母,蓝轩宇却吞自己,答案令人窒息
-
港股保险股走强 中国平安涨超4%|世界看点
-
企业健管行业加速发展,具有独特优势的平安好医生(01833)获市场看好 重点聚焦
-
【播资讯】中日韩自贸区板块4月26日涨0.19%,冰轮环境领涨,主力资金净流出4874.33万元
-
环球热讯:官方通报:广东东莞一幼儿园教师猥亵学生被刑拘
-
焦点速讯:4月27日生意社聚合MDI基准价为15860.00元/吨
-
为什么是它们?济南民营企业“打胜仗”的密码,3个细节!|世界热推荐
-
来了!早知德阳事〔2023.4.27〕
-
天天热门:LOL手游国服到底什么时候上线无疑是成为今年LOL玩家们最为关心的问题
-
今日为什么大家都喜欢萧炎不喜欢唐三(为什么大家都喜欢雷诺)-全球今日讯
-
天天热点!苯酸铵酰糖化物特殊含义_苯酸铵酰糖化物
-
最新:没有抱摔垫脚打脸搓澡!辽厦联手打脸杜锋广东,2支强队也能干净
-
克洛普:我不想侵占假期 但利物浦球员今夏必须尽早归队
-
嗯哼亲自回应容貌争议,称会戴牙套但仍帅不过爸爸,接受自己的不完美
-
焦点播报:中国星辰|把青春的注脚镌刻在苍穹之上
-
环球速读:2023年中级经济师《农业经济》大纲变动分析
-
【世界聚看点】煤气化概念上市公司一览(2023/4/26)
-
什么才算违章建筑
-
美团优选多个核心业务负责人调整
-
天天讯息:人类首次商业登月失败:日本公司ispace的登月舱于着陆前一刻失联,或已坠毁
-
全球通讯!揭秘“中国时间银行”:创新养老收益名义下的“庞氏骗局”
-
当前报道:生活成本上涨危机加剧 英国食物银行发放量创新高
-
陈峻齐:多空换手灵活把握 4.26黄金行情走势分析及操作策略
-
【环球速看料】出租车、网约车注意了,南京将严查打“小表”、绕路等违规行为
-
惠威科技(002888)4月26日主力资金净卖出157.21万元
-
重庆万州:百万株三角梅扮靓长江之滨_世界热资讯
-
生活习惯描述 生活习惯
-
新能源汽车未来市场空间巨大,新能源车ETF华安涨3.81% 当前热门
-
4月26日利华益异丁醛价格暂稳|微头条
-
何去何从是什么意思(何去何从是什么意思呢) 天天实时