Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Breeze 模型从BaseEntity继承时的ModelValidationException_Breeze_Breeze Sharp - Fatal编程技术网

Breeze 模型从BaseEntity继承时的ModelValidationException

Breeze 模型从BaseEntity继承时的ModelValidationException,breeze,breeze-sharp,Breeze,Breeze Sharp,我有一些模型类继承自单个抽象类,而抽象类又派生自BaseEntity 公共抽象类项:BaseEntity 当我尝试在上下文中创建实体数据模型时,出现以下错误: System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.Data.Entity.ModelConfiguration.ModelValidationException:在模型生成过程中检测到一个或多个验证错误: DataLayer.EntityAspect::Ent

我有一些模型类继承自单个抽象类,而抽象类又派生自BaseEntity

公共抽象类项:BaseEntity

当我尝试在上下文中创建实体数据模型时,出现以下错误: System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.Data.Entity.ModelConfiguration.ModelValidationException:在模型生成过程中检测到一个或多个验证错误:

DataLayer.EntityAspect::EntityType“EntityAspect”未定义键。定义此EntityType的键。 DataLayer.EntityKey::EntityType“EntityKey”未定义键。定义此EntityType的键。 DataLayer.MetadataStore::EntityType“MetadataStore”未定义键。定义此EntityType的键。 DataLayer.Validator::EntityType“Validator”未定义密钥。定义此EntityType的键。 DataLayer.DataType::EntityType“DataType”未定义键。定义此EntityType的键。 DataLayer.StructureType::EntityType“StructureType”未定义键。定义此EntityType的键。 DataLayer.ValidationError::EntityType“ValidationError”未定义键。定义此EntityType的键。 DataLayer.ValidationContext::EntityType“ValidationContext”未定义键。定义此EntityType的键。 DataLayer.StructuralProperty::EntityType“StructuralProperty”未定义键。定义此EntityType的键。 EntityAspects:EntityType:EntitySet“EntityAspects”基于未定义键的类型“EntityAspect”。 EntityKeys:EntityType:EntitySet“EntityKeys”基于未定义键的类型“EntityKey”。 MetadataStores:EntityType:EntitySet“MetadataStores”基于未定义键的类型“MetadataStore”。 Validators:EntityType:EntitySet“Validators”基于未定义键的类型“Validator”。 DataTypes:EntityType:EntitySet“DataTypes”基于未定义键的类型“DataType”。 StructureTypes:EntityType:EntitySet“StructuralTypes”基于未定义键的类型“StructuralType”。 ValidationErrors:EntityType:EntitySet“ValidationErrors”基于未定义键的类型“ValidationError”。 ValidationContext:EntityType:EntitySet“ValidationContext”基于未定义键的类型“ValidationContext”。 StructuralProperties:EntityType:EntitySet“StructuralProperties”基于未定义键的类型“StructuralProperty”

位于System.Data.Entity.Core.Metadata.Edm.EdmModel.Validate()处 位于System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest,DbProviderInfo providerInfo) 位于System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) 位于System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) 位于System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput输入) 在System.Data.Entity.Internal.LazyInternalContext.InitializeContext()中 在System.Data.Entity.Internal.LazyInternalContext.get_ModelBeInInitialized()中 位于System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(DbContext上下文,XmlWriter编写器) ---内部异常堆栈跟踪的结束--- 位于System.RuntimeMethodHandle.InvokeMethod(对象目标、对象[]参数、签名符号、布尔构造函数) 位于System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(对象obj,对象[]参数,对象[]参数) 在System.Reflection.RuntimeMethodInfo.Invoke(对象obj、BindingFlags invokeAttr、绑定器绑定器、对象[]参数、CultureInfo区域性) 位于System.RuntimeType.InvokeMember(字符串名称、BindingFlags BindingFlags、绑定器绑定器、对象目标、对象[]提供的参数、参数修改器[]修饰符、CultureInfo区域性、字符串[]namedParams) 在Microsoft.DbContextPackage.Handlers.ViewContextHandler.ViewContext(MenuCommand和MenuCommand,对象上下文,类型systemContextType)

如果我删除BaseEntity继承并创建实体数据模型,它将成功完成。BaseEntity如何破坏我的模型

现实世界的问题是,当我试图从DataService.metadata()调用返回元数据时,它也会遇到此错误

有什么办法可以解决这个问题吗


谢谢你,我的服务器端实体模型没有派生BaseEntity,但我的客户端实体模型却派生了BaseEntity。我通过使用分部类实现了这一点,而VS

中的文件链接最终使用了一种“黑客”,即我的服务器端实体模型没有派生BaseEntity,但我的客户端实体模型派生了BaseEntity。我通过使用分部类和VS中的文件链接实现了这一点。附加您的实体类…您可以创建任何POCO实体并从BaseEntity派生。如果在DbContext中使用该实体,则模型验证将失败。