EntityFramework Core CLI Tools 几点坑

Entity Framework Core 2.0 Features | by Aram Koukia | Koukia

开发怎么可能离得开数据库呢~ 这里的EFC和以前的EF不是一个东西,就跟.net core和以前的.net不一样是一个道理。

Core这个家族可以说是完全跟开源接轨了,不管是运行方式,交互方式如果熟悉开源组件的同学就会感觉跟自己家一样,当然还没那么接地气,下面就是在用EFC CLI Tool时碰到的几个坑。

  1. 如果你的项目不是一个程序集,那么你不得不指定开始项目和目标项目就比如得这样:“dotnet ef list -p 目标项目目录 -s 开始项目目录”,这里我就很不理解,也困惑了我好一会,如果知道开始项目,那么作为上层程序集是可以找到下层级中程序集的dbcontext和Model。当然在文档中你可以找到这个说明,只不过我是事后才发现,试问有几个人的项目是只有一个程序集的。
  2. EF Core 6,目前是RC2,作为preview版本它默认需要你指定版本才能被安装,比如当前不指定版本他只给你装到5的latest。
  3. 需要指定一个Dbcontext,如果你有多个的话,它有一个查找顺序,是用的父类往下找的,如果碰到问题可以从这里作为突入口。
  4. 它支持从数据库导出Model,也支持从Model导入数据库,还支持从Model生成sql script。
  5. 生成scrpt最实用,这里推荐带上“-i|–idempotent”参数,不带上它会默认走一个事务提交所有Model,带上后每个Model都是分开的适用于没有严格migrations的项目。用–no-transactions可以关闭事务。
  6. “-p 和 -s”可以指定到项目文件或者项目目录,这就很开源范!~
posted @   today4king  阅读(75)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2013-10-26 Ubuntu 脚本笔记
2012-10-26 How to use user script (custom script)如何使用用户脚本之Chrome
2011-10-26 Win7工具栏小技巧像WebApp一样使用Zzk
点击右上角即可分享
微信分享提示
主题色彩