Mat*_*our 17 entity-framework entity-model asp.net-mvc-3
我在MVC3项目A和B中有两个实体数据模型.
我最近添加了新的实体数据模型B来处理一些新功能,问题是现在现有代码已经停止工作,并且在尝试访问实体模型A中的代码时出现以下错误.
错误消息是:
找不到概念模型类型'project.models.Bclass'
我不明白为什么这个新功能影响了当前代码,因为实体模型A没有任何改变.功能B在一个单独的类中,不会干扰模型A.
当从项目中删除新代码并且排除实体模型B时,代码将按预期工作.
以下是错误中的一些堆栈跟踪:
Exception : Could not find the conceptual model type for 'Project1.Models.CrossSession'.
Application Class - method : System.Data.Metadata.Edm.MetadataWorkspace -- GetEdmSpaceType
User : temp.user
Url : http://localhost/project1/auth/message
Stacktrace : at System.Data.Metadata.Edm.MetadataWorkspace.GetEdmSpaceType(StructuralType objectSpaceType)
at System.Data.Entity.Internal.InternalContext.UpdateEntitySetMappings()
at System.Data.Entity.Internal.InternalContext.TryUpdateEntitySetMappingsForType(Type entityType)
at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
Run Code Online (Sandbox Code Playgroud)
Mat*_*our 12
找到解决方案 它在某些情况下(随机地)出现在由...生成的代码中混淆entity framework.这显然是一个已知的错误,未来版本中应该会出现修复.与此同时,解决方法是将其移至efm解决方案中的单独类.
我在同.edmx一个项目中遇到了同样的问题.对于.edmx model我使用的第一个,我没有使用"Add Code Generation Item"的第二个模型.该项目正在构建正确但在运行时抛出该异常.
我解决了.tt为第二个生成类的问题.edmx model.
一种可能的解释是,如果您使用数据库第一种方法而忘记添加实体类,则会出现此错误.
即(来自下面链接的指南)
我通常使用Julie Lerman的指南; https://msdn.microsoft.com/en-us/library/jj206878(v=vs.113).aspx
| 归档时间: |
|
| 查看次数: |
19548 次 |
| 最近记录: |