ASP.NET MVC5中的脚手架(MvcMusicStore教程)

时间:2015-03-11 20:55:12

标签: asp.net-mvc entity-framework

首先,如果有人知道专业ASP.NET MVC5这本书,请参阅第87页,但一般来说,它引用了MvcMusicStore教程 - 脚手架商店经理部分。

我们是否有理由创建新的数据库上下文而不是使用     现有的ApplicationDbContext?

我想用userID标记对相册的任何更改,因此将以下内容添加到相册类中。

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'没有定义键。

已安装的软件包版本如下:

  

Id版本
  说明/发行说明

     

- ------- ------------------------- Antlr 3.4.1.9004另一个工具   语言识别,是一种为其提供框架的语言工具   构建识别器,在...... bootstrap 3.0.0中   时尚,直观,功能强大的前端框架,更快更好   更轻松的Web开发。的EntityFramework   6.1.1实体框架是Microsoft推荐的新应用数据访问技术   jQuery 1.10.2 jQuery是一个新的   一种JavaScript库....
  jQuery.Validation 1.11.1这个jQuery插件   使简单的客户端表单验证变得微不足道,同时提供很多   自定义选项.... Microsoft.AspNet.Identity.Core 2.1.0
  ASP.NET身份的核心接口   Microsoft.AspNet.Identity.E ... 2.1.0 ASP.NET身份   使用实体框架的提供商   Microsoft.AspNet.Identity.Owin 2.1.0 Owin   ASP.NET身份的实现。
  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之间共享的核心运行时程序集   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是一种流行的.NET高性能JSON框架   Owin 1.0 OWIN IAppBuilder   启动界面
  回应1.2.0这个目标   脚本是提供快速和轻量级(3kb缩小/ 1kb   gzipped)脚本启用响应... WebGrease
  1.5.2 Web Grease是一套用于优化javascript,css文件和图像的工具。

1 个答案:

答案 0 :(得分:0)

好的,所以Application User的Id是一个字符串。我跟着this article将Id类型转换为int,然后为用户创建了Id。

很多工作只是将id数据类型从string更改为int但是我们去了。我猜我可能刚刚使用了字符串,但我宁愿所有关键数据类型都相同。