【问题标题】:Entity Framework Schema validation failure实体框架架构验证失败
【发布时间】:2014-04-07 12:29:15
【问题描述】:

我正在尝试为 ASP.NET MVC5 项目运行一个项目模板,该项目也使用 Owin 进行身份验证。该项目成功构建,但是当我尝试创建用户或执行登录或尝试启用迁移时,我得到以下与 XML 模式验证相关的错误。我试图找到抛出错误的模型,但找不到模型(看起来像是 Owin 的一些自动生成的模型)。目标.NET框架为4.5.1,实体框架库版本为6.0.0。

System.Data.Entity.Core.MappingException: Schema specified is not valid. Errors: 
<File Unknown>(60,58) : error 2025: XML Schema validation failed for mapping schema. Schema Error Information : The 'TypeName' attribute is invalid - The value 'ASP.NET_MVC5_with_Bootstrap_3._1._1_LESS1.Models.IdentityUserClaim_User' is invalid according to its datatype 'http://schemas.microsoft.com/ado/2009/11/mapping/cs:TQualifiedName' - The Pattern constraint failed..
   at System.Data.Entity.Core.Mapping.StorageMappingItemCollection.Init(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable`1 xmlReaders, IList`1 filePaths, Boolean throwOnError)
   at System.Data.Entity.Core.Mapping.StorageMappingItemCollection..ctor(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable`1 xmlReaders)
   at System.Data.Entity.ModelConfiguration.Edm.DbDatabaseMappingExtensions.ToStorageMappingItemCollection(DbDatabaseMapping databaseMapping, EdmItemCollection itemCollection, StoreItemCollection storeItemCollection)
   at System.Data.Entity.ModelConfiguration.Edm.DbDatabaseMappingExtensions.ToMetadataWorkspace(DbDatabaseMapping databaseMapping)
   at System.Data.Entity.Internal.CodeFirstCachedMetadataWorkspace..ctor(DbDatabaseMapping databaseMapping)
   at System.Data.Entity.Infrastructure.DbCompiledModel..ctor(DbModel model)
   at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)
   at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)
   at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
   at System.Data.Entity.Internal.LazyInternalContext.get_ModelBeingInitialized()
   at System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(DbContext context, XmlWriter writer)
   at System.Data.Entity.Utilities.DbContextExtensions.<>c__DisplayClass1.<GetModel>b__0(XmlWriter w)
   at System.Data.Entity.Utilities.DbContextExtensions.GetModel(Action`1 writeXml)
   at System.Data.Entity.Utilities.DbContextExtensions.GetModel(DbContext context)
   at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration, DbContext usersContext)
   at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration)
   at System.Data.Entity.Migrations.Design.MigrationScaffolder..ctor(DbMigrationsConfiguration migrationsConfiguration)
   at System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Run()
   at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
   at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
   at System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner)
   at System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldInitialCreate(String language, String rootNamespace)
   at System.Data.Entity.Migrations.EnableMigrationsCommand.<>c__DisplayClass2.<.ctor>b__0()
   at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Schema specified is not valid. Errors: 
<File Unknown>(60,58) : error 2025: XML Schema validation failed for mapping schema. Schema Error Information : The 'TypeName' attribute is invalid - The value 'ASP.NET_MVC5_with_Bootstrap_3._1._1_LESS1.Models.IdentityUserClaim_User' is invalid according to its datatype 'http://schemas.microsoft.com/ado/2009/11/mapping/cs:TQualifiedName' - The Pattern constraint failed..

感谢您在这个问题上的帮助。

【问题讨论】:

    标签: c# asp.net asp.net-mvc entity-framework


    【解决方案1】:

    我遇到了同样的问题,几分钟前我偶然发现了解决方案。 这是解决方案的名称。 当我拥有它 MVC5Example1.0 时,它给了我错误,但是当我将其更改为 MVC5Example1 时,它起作用了。 希望它也对你有用。

    【讨论】:

    • 感谢您提供答案。实际上在另一台机器上,我通过给出不同的名称创建了相同的项目并且它工作但我无法将问题与名称联系起来。谢谢!
    【解决方案2】:

    我也想插话,因为这是我发现的唯一一个与此相关的问题。上下文很重要的名称完全限定名称。我已从 IdentityModels 文件的默认位置取出它,并将其放入名为 _Contexts 的文件夹中。然后我得到了这个错误。

    我将文件夹重命名为 Contexts,错误消失了。所以可能是特殊字符,如句点。所以和上面的海报一样。似乎 FQN 中的下划线 _ 会导致问题。

    【讨论】:

      猜你喜欢
      • 2010-09-16
      • 2018-07-30
      • 2011-08-24
      • 1970-01-01
      • 2018-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多