欢迎各位兄弟 发布技术文章
这里的技术是共享的
In Memary 是内存数据库
验证 localdb 是否存在
# SQLocalDB
# SQLocalDB info
连接字符串
# dotnet ef
ctor 简写 后加 tab 生成构造函数
Startup.cs 里面的一些东西是可以注入的,但是有一些东西是不可以注入的
Integrated Security=True 表示使用 windows 验证
两个文件 迁移文件 和快照文件
迁移文件 可以稍微改一下
快照文件里面的东西应该与数据库是永远保持一致的,不能改
-Verbose 可以查看明细过程
迁移的表是上下文的 DbSet 的属性对应的表
dbo._EFMigratinsHistory
我们一般情况下 控制器是依赖于 对接口的依赖,对抽像的依赖,而不是对具体类的似赖
高级别的模块不应该依赖于低级别的模块,它应该依赖于合约(抽象的一些东西)
ctrl+. alt+enter 很重要
startup.cs 里面已经注册了 DataContent
在 EfCoreRepository 这里注入吧
此时不能使用 Singleton,因为这里使用 dbcontext,dbcontext不是线程安全的,,,,Singleton肯定会发生多线程的问题,,,使用scoped,每一次http请求,生成一个实例,每次 http请求,保证它在一个逻辑线程内