Asp.Net Core MVC - 我可以将Identity和DataAccess移动到类库

时间:2016-10-19 21:30:46

标签: asp.net-core-mvc

我创建了一个带有个人用户帐户身份验证(身份)的ASP.NET Core MVC Web应用程序。

该模板创建了一个Web项目,其中包含一大堆文件夹,包括“Data”文件夹,其中包含Identity模式的迁移,以及ApplicationDbContext。

现在,我在Web应用程序旁边还有一些其他需要使用数据的项目。我不希望他们出于显而易见的原因引用Web项目。

理想情况下,我不希望我的网络项目直接依赖于EF。

我可以将数据访问移动到单独的类库中吗?如果是这样,怎么样!?

2 个答案:

答案 0 :(得分:3)

当然,查看https://github.com/MachUpskillingFY17/JabbR-Core上的Dev分支,我们只是将所有数据移动到包含身份的单独库中。它仍然是一项正在进行的工作,但绝对有效。

答案 1 :(得分:3)

  1. 创建一个类库项目。
  2. 将内容从corewebproject/data移至类库项目。
  3. 从nuget添加以下内容:

    • 实体框架
    • AspNetCore.Identity
    • AspNetCore.Identity.EntityFramework
    • Microsoft.entityframeworkcore.SqlServer
    • Microsoft.entityframeworkcore.Tools
    • Microsoft.entityframeworkcore.Tools.Dotnet
  4. 构建类库项目。

  5. 添加为您的网络项目的参考。
  6. 更改启动contextdb文件位置中的引用。
  7. 如果您想更改localdb中的defaultconnection更改appsettings的SQL服务器。
  8. 添加参考相关文件。
  9. 构建解决方案。
  10. 转到nuget包管理器控制台并选择您的项目。
  11. 运行下一个命令:

    • '删除迁移'。它将删除一些文件,包括snapmodel文件

    • 添加迁移“名称”

    • 更新数据库

  12. 检查您的数据库:您可以看到使用aspnetcore个人帐户相关表格的更新数据库。

  13. !!!享受!!!!