首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >找不到概念模型类型

找不到概念模型类型
EN

Stack Overflow用户
提问于 2012-01-24 00:26:45
回答 9查看 20.8K关注 0票数 18

我在MVC3项目A和B中有两个实体数据模型。

我最近添加了新的实体数据模型B来处理一些新的功能,问题是现在现有的代码已经停止工作,当我试图访问实体模型A中的代码时,我得到了以下错误。

错误消息为:

找不到概念模型类型'project.models.Bclass‘

我不明白为什么这个新功能会影响当前的代码,因为实体模型A没有以任何方式改变。功能B位于单独的类中,不会干扰模型A。

当新代码从项目中删除并且实体模型B被排除时,代码就会正常工作。

以下是错误中的一些堆栈跟踪:

代码语言:javascript
复制
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()
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-01-24 22:59:25

找到解决方案。在某些情况下(随机地),由entity framework生成的代码中出现了混淆。这显然是一个已知的错误,在未来的版本中应该会有一个修复。同时,解决方法是将efm移到解决方案中的单独类中。

票数 12
EN

Stack Overflow用户

发布于 2013-01-21 21:22:23

一种可能的解释是,如果您先使用数据库方法,而忘记添加实体类,则会出现此错误。

即(来自下面链接的指南)

  1. 右键单击模型的设计器图面。
  2. 从上下文菜单中选择添加代码生成项。
  3. 在打开的添加新项对话框中,从左侧已安装的模板类型列表中选择数据。
  4. 选择ADO.NET DbContext生成器,然后单击添加按钮。

< Code >G29

我通常使用朱莉·勒曼的指南;https://msdn.microsoft.com/en-us/library/jj206878(v=vs.113).aspx

票数 9
EN

Stack Overflow用户

发布于 2012-12-06 17:32:38

通过将EntityFramework更新到最新版本(6.0) http://nuget.org/packages/EntityFramework/解决了此问题。

安装后,重新生成模型,它将正常工作;)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8974973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档