【发布时间】:2015-03-11 20:55:12
【问题描述】:
首先,如果有人知道 Professional ASP.NET MVC5 这本书,我指的是第 87 页,但总的来说,它是指 MvcMusicStore 教程 - 为商店经理部分搭建脚手架。
我们创建一个新的数据库上下文而不是使用 现有的 ApplicationDbContext?
我想用用户 ID 标记对相册的任何更改,因此将以下内容添加到相册类。
public virtual ApplicationUser SubmittedBy { get; set; }
public virtual ApplicationUser ModifiedBy { get; set; }
但是当我尝试按照书中的 p87 添加控制器时,即使在清理、构建和重建项目之后,我也会收到以下错误。
我还在 ApplicationUser 类中添加了以下内容以尝试解决问题,但没有任何乐趣
[Key]
public virtual int ApplicationUserId { get; set; }
问题可能是具有自己 DbContext 的 IdentityModel 与我的其他模型位于同一文件夹中吗?
运行所选代码生成器时出错:
'无法检索元数据 'MvcMusicStorePrototype.Models.Album'。
在模型生成过程中检测到一个或多个验证错误:
IdentityUserLogin: : EntityType 'IdentityUserLogin' 没有密钥 定义。定义此 EntityType 的键。
IdentityUserRole: : EntityType 'IdentityUserRole' 没有定义键。 定义此 EntityType 的键。
IdentityUserLogins: EntityType: EntitySet 'IdentityUserLogins' 是 基于没有定义键的类型“IdentityUserLogin”。
IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' 是基于 在没有定义键的类型“IdentityUserRole”上。
安装的包版本如下:
身份证版本
说明/发行说明-- -------- ------------- Antlr 3.4.1.9004 另一个工具 语言识别是一种语言工具,它提供了一个框架 构建识别器,在... bootstrap 3.0.0
时尚、直观且功能强大的前端框架,可实现更快、更 更轻松的网络开发。实体框架 6.1.1 Entity Framework 是微软为新应用推荐的数据访问技术。
jQuery 1.10.2 jQuery 是一个新的 一种 JavaScript 库....
jQuery.Validation 1.11.1 这个 jQuery 插件 使简单的客户端表单验证变得微不足道,同时提供了很多 自定义选项.... Microsoft.AspNet.Identity.Core 2.1.0
ASP.NET Identity 的核心接口。
Microsoft.AspNet.Identity.E... 2.1.0 ASP.NET 身份 使用实体框架的提供程序。
Microsoft.AspNet.Identity.Owin 2.1.0 Owin ASP.NET Identity 的实现。
Microsoft.AspNet.Mvc 5.2.0 这个包 包含 ASP.NET MVC 的运行时程序集。 ASP.NET MVC 为您提供 一种强大的、基于模式的方式... Microsoft.AspNet.Razor
3.2.0 此包包含 ASP.NET 网页的运行时程序集。 ASP.NET 网页和新的 Razor 语法提供... Microsoft.AspNet.Web.Optimi... 1.1.3 ASP.NET 优化引入了一种捆绑和优化 CSS 和 JavaScript 文件。
Microsoft.AspNet.WebPages 3.2.0 这个包 包含在 ASP.NET MVC 和 ASP.NET 网页。
Microsoft.jQuery.Unobtrusiv... 3.2.0 jQuery插件, 不显眼地设置 jQuery.Validation。
Microsoft.Owin 2.1.0 提供了一组 用于简化 OWIN 创建的辅助类型和抽象 组件。 Microsoft.Owin.Host.SystemWeb 2.1.0 OWIN 服务器,使基于 OWIN 的应用程序能够使用 ASP.NET 请求管道在 IIS 上运行。
Microsoft.Owin.Security 2.1.0 常用类型 由各种身份验证中间件组件共享。
Microsoft.Owin.Security.Coo... 2.1.0 中间件 使应用程序能够使用基于 cookie 的身份验证,类似于 ASP.NET 的表单身份验证。 Microsoft.Owin.Security.Fac... 2.1.0 使应用程序能够支持 Facebook 的 OAuth 2.0 的中间件 身份验证工作流程。
Microsoft.Owin.Security.Google 2.1.0 包含 支持 Google 的 OpenId 和 OAuth 2.0 身份验证的中间件 工作流程。
Microsoft.Owin.Security.Mic... 2.1.0 中间件 使应用程序支持 Microsoft 帐户身份验证 工作流程。 Microsoft.Owin.Security.OAuth 2.1.0 使应用程序能够支持任何标准 OAuth 的中间件 2.0 身份验证工作流程。 Microsoft.Owin.Security.Twi... 2.1.0 中间件 使应用程序能够支持 Twitter 的 OAuth 2.0 身份验证 工作流程。 Microsoft.Web.Infrastructure
1.0.0.0 此包包含 Microsoft.Web.Infrastructure 程序集,可让您动态 在 r... 注册 HTTP 模块 Modernizr 2.6.2
Modernizr 向允许您定位的元素添加类 您样式中的特定浏览器功能... Newtonsoft.Json
6.0.3 Json.NET 是一个流行的高性能 JSON 框架,适用于 .NET
Owin 1.0 OWIN IAppBuilder 启动界面
响应 1.2.0 这个的目标 脚本是提供一个快速和轻量级(3kb minified / 1kb gzipped) 脚本来启用响应... WebGrease
1.5.2 Web Grease 是一套用于优化 javascript、css 文件和图像的工具。
【问题讨论】:
-
你确定书中的代码使用的是Microsoft.Asp.NET Identity 2.0吗?它与 Identity 1.0 或 SimpleAuthentication 截然不同。
-
@Claies 这本书正在使用 OAuth,所以我猜那是 Identity 2.0?
-
不一定。 OAuth 是一种模式,Identity 是一组实现该模式的类。您可以在没有身份的情况下进行 OAuth,或者使用身份 1.0....
-
换一种说法;书中的说明是否告诉您在创建项目时选择身份验证选项?
-
我现在打开这本书的示例代码,看看它在使用什么。
标签: asp.net-mvc entity-framework