首页 > 解决方案 > 在 ASP.NET MVC 中使用实体框架和标识分离模型

问题描述

使用 Visual Studio 2017。我正在关注一个教程(基于以前版本的 VS,如果这有什么不同的话),它创建了一个带有 Identity 的标准 ASP.NET MVC 项目。据我了解,它默认也安装实体框架。

我现在想将模型分离到一个单独的类库中。该Models文件夹当前代表创建新的 ASP.NET MVC“开箱即用”项目时出现的标准模型。所以我添加新的空 CL 项目并移动所有Model类,如下所示:

在此处输入图像描述

我添加了两个额外的类,因为我想使用现有的模型,新的类将代表我的数据库中的新表。

目前我得到关于引用不可用的编译错误,即

命名空间“Microsoft”中不存在类型或命名空间名称“AspNet”(您是否缺少程序集引用?)

命名空间“System.Web”中不存在类型或命名空间名称“Mvc”(您是否缺少程序集引用?)

看着我的组件,它们都是空的,最终导致我

Visual Studio 2017 不会在 .NET Standard 库中加载 .NET Framework 引用

  1. 这让我想知道我是否做错了或错过了某个地方;如何从 ASP.NET MVC 项目中分离模型类并将它们放入新的类库中,以便可以将此类用于其他项目?

  2. 我总共有 3 个项目,Models(所有类/数据库表模型),Business Layer(我将在其中进行 CRUD 操作) - 我会将 Entity Framework 6.4 安装到此类项目中吗?然后在主 ASP.NET MVC 项目中引用这两个项目?

标签: c#asp.net-mvcentity-frameworkentity-framework-6asp.net-identity

解决方案


您需要在您的类库中安装以下 nuget 包:

  1. Microsoft.AspNet.Identity.EntityFramework
  2. Microsoft.AspNet.Identity
  3. Microsoft.AspNet.Mvc

推荐阅读