我想利用Visual Studio模板中针对ASP.NET Core项目开箱即用的IdentityDbContext。但是,我希望我的实体和迁移能够存在于共享项目中,以供解决方案的不同组件(Web,API,后台服务等)引用。
我的共享数据库项目将是一个.NET Standard项目,但看来我必须添加对Microsoft.AspNetCore.Identity.EntityFrameworkCore
的引用。向Standard项目中引入对专门用于ASP.NET的Core程序集的依赖感觉很奇怪。那会带来什么问题吗?
答案 0 :(得分:0)
那样应该不会是一个问题。如果您尝试在Net Core项目中引用Net Framework库,那将是一个问题
答案 1 :(得分:0)
您必须为您的Entity对象继承某些Identity类(IdentityUser),因此您必须引用Microsoft.AspNetCore.Identity.EntityFrameworkCore
,但我不建议将Identity类与与您的业务层相关的其他Entity类一起存储。
身份与您项目的基础架构有关。只需将与身份相关的类Dbbontext,实体类和服务存储在已存储引用EntityFrameworkCore的Db访问代码的同一项目中即可。
在解决方案上保留两个不同的项目,这些项目引用EntityFrameworkCore只是违反关注点分离。如果要保留2个不同的项目,只需使用相同版本的EfCore。