我想利用ASP.NET核心项目的Visual Studio模板中开箱即用的IdentityDbContext。但是,我希望我的实体和迁移位于一个共享项目中,以供解决方案的不同组件(Web、API、后台服务等)引用。
我的共享数据库项目将是一个.NET标准项目,但是看起来我必须添加一个对Microsoft.AspNetCore.Identity.EntityFrameworkCore
的引用。在一个标准项目中引入对专门用于ASP.NET的核心程序集的依赖感觉很奇怪,这会带来任何问题吗?
发布于 2019-05-27 00:51:31
走那条路应该不成问题..如果您尝试在Net Core项目中引用Net Framework库,这将是一个问题
发布于 2019-05-28 21:55:10
您必须为实体对象继承一些标识类(IdentityUser),因此必须引用Microsoft.AspNetCore.Identity.EntityFrameworkCore
,但我不建议将标识类与与业务层相关的其他实体类一起存储。
身份是关于你的项目的基础设施。只需将与身份相关的类Dbbontext、实体类和服务存储在您已经存储引用EntityFrameworkCore的Db访问代码的同一项目中。
在引用EntityFrameworkCore的解决方案上持有两个不同的项目只是违反了关注点的分离,而不是更多。如果你想容纳两个不同的项目,只要使用相同版本的EfCore即可。
https://stackoverflow.com/questions/56314298
复制相似问题