在使用WebService开发时,同时使用了EF和linq,查询数据时,使用linq(查询订单)可以正常拉出数据,

但是使用EF(查询用户)却会报以下错误:

{"指定的架构无效。错误: \r\nCLR 类型到 EDM 类型的映射不明确,因为多个 CLR 类型与 EDM 类型“Orders”匹配。以前找到的是 CLR 类型“WebService1.Model.Orders”,新找到的则是 CLR 类型“WebService1.LinqModel.Orders”。\r\nCLR 类型到 EDM 类型的映射不明确,因为多个 CLR 类型与 EDM 类型“Users”匹配。以前找到的是 CLR 类型“WebService1.Model.Users”,新找到的则是 CLR 类型“WebService1.LinqModel.Users”。"}

DbContext的MetadataWorkSpace一旦生成会缓存起来。也就是说,在同一个应用程序域里面,一旦用dbcontext操作过数据库,它会自动读取类所在assembly里面的所有类,并尝试匹配数据库模型,然后将匹配结果保存起来(保存到上面的MetaOCSpace中)。当下次操作数据库时,返回数据对应类类所在其它assembly里面的类与当前已匹配数据库模型发生冲突时,便会报错。(这段话是网上抄的)

在ASP.NET MVC5高级编程(第5版)中第70页作者写到:

实体框架的另一种(默认的)策略是延迟加载策略。使用延迟建在策略,EF在LINQ查询中只加载主要对象(专辑)的数据,而不填充Genre和Artist属性。

var albums=db.Albums;

延迟加载根据需要来加载相关数据,也就是说,只有当Album的Genre或Artist需要属性时,EF才会公国向数据库发送一个个额外的查询来加载这些数据。延迟加载策略会强制框架未列表中每一个专辑向数据库发送一个额外的查询。

参考上面的解释和报错信息,还是不太清楚他们的内部运行原理(需要继续研究),但是已经知道如何解决了。

解决方案:不要生成相通的模型,可以修改linq模型名称。

修改后:

问题得到解决。

指定的架构无效。错误: CLR 类型到 EDM 类型的映射不明确的更多相关文章

  1. 异常跟踪之CLR 类型到 EDM 类型的映射不明确

    异常信息: "指定的架构无效.错误: CLR 类型到 EDM 类型的映射不明确,因为多个 CLR 类型与 EDM 类型“Person”匹配. 以前找到的是 CLR 类型“A.Person”, ...

  2. Entity Framework 指定架构无效 错误:1052

    IIS发布网站:如果不发布放到IIS没有问题,发布后IIS部署 打开网站却提示指定架构无效 1052 找到很多解决的问题 1添加wenconfig 2.更改entity名的 其实我认为最简单的就是先找 ...

  3. Linq to sql 之 ExecuteQuery 错误:指定的转换无效

    问题:通过dbContext.ExecuteQuery 得到数据并赋值给一个集合. 代码: public IEnumerable<LeaveCodeSum> GetLeavTotal(st ...

  4. 数据库还原错误:指定的转换无效。(SqlManagerUI)

    SSMS在一定程度上方便我们进行一些常见的操作.但有时候它处理得又不是那么不人性化.尤其是错误信息. 今天我在进行数据库还原的时候就碰到一个错误:指定的转换无效.(SqlManagerUI) Spec ...

  5. 重温CLR(三)类型基础

    所有类型都从System.Object派生 “运行时”要求每个类型最终都要从System.Object类型派生.也就是说,一下两个类型的定义完全一致. //隐式派生自Object class Empl ...

  6. [CLR via C#]4. 类型基础及类型、对象、栈和堆运行时的相互联系

    原文:[CLR via C#]4. 类型基础及类型.对象.栈和堆运行时的相互联系 CLR要求所有类型最终都要从System.Object派生.也就是所,下面的两个定义是完全相同的, //隐式派生自Sy ...

  7. 在access转sql server指定的转换无效

    今天继续昨天没解决的问题,还是继续报错数据库中“指定的转换无效”,看着这个错误都有点头大了,啊啊啊啊,因为无法再代码中寻找到具体点,只好在晚上继续查询 最后终于看到一条帖子说在转换的时候可能出现数据冲 ...

  8. Entity FreamWork 无法创建“System.Object”类型的常量值。此上下文仅支持基元类型或枚举类型错误解决

    Entity FreamWork 无法创建“System.Object”类型的常量值.此上下文仅支持基元类型或枚举类型错误解决: 最近在开发中把我原来抄的架构里面的主键由固定的Guid改成了可以泛型指 ...

  9. [原创]java WEB学习笔记67:Struts2 学习之路-- 类型转换概述, 类型转换错误修改,如何自定义类型转换器

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. TCP与UDP的区别

    TCP与UDP的区别 TCP面向连接:UDP是无连接,即发送数据之前不需要建立连接 TCP提供可靠的服务,TCP连接传送的数据,无差错.不丢失.不重复,且按顺序到达:UDP尽最大努力交付,即不保证可靠 ...

  2. node在centos下的安装

    CentOS 下安装 Node.js 1.下载源码,你需要在https://nodejs.org/en/download/下载最新的Nodejs版本,本文以v4.6.2为例: cd /usr/loca ...

  3. jetty 内嵌服务

    pom.xml <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncodin ...

  4. C# 使用 NPOI 库读写 Excel 文件(转载)

    NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件.在处理Excel文件上,NPOI 可以同时兼 容xls 和 xlsx.官网提供了一份Examples,给出了 ...

  5. curl命令行使用

    curl 命令使用   原文地址:http://blog.sina.com.cn/s/blog_4b9eab320100slyw.html 可以看作命令行浏览器 1.开启gzip请求curl -I h ...

  6. 图形化查看maven的dependency依赖

    开发项目的时候,我们想知道一个maven的依赖库是来自那个工程,eclipse有插件可以直接看Dependency Hierarchy,推荐一个第三方的工具yED 在工程的pom.xml文件中添加如下 ...

  7. 冰球项目日志2-yjw

    我们小组在12.31号进行了讨论,确定了基本的任务及分工,后面是元旦放假,大家没有做很多的东西,我也是把自己分工的部分方案想了下. 后面在1.3号,我们会再进行一次小组讨论,确定下最终的方案,然后进行 ...

  8. iscrolljs 看API 回顾以前开发中失误

    今天有空 细致的看看iscrolljs api 发现自己以前的几个失误是没看api造成的 失误1 页面a操作 影响了页面b的滚动条 api 解释: options.bindToWrapper The ...

  9. 【POJ3254】Corn Fields 状压DP第一次

    !!!!!!! 第一次学状压DP,其实就是运用位运算来实现一些比较,挺神奇的.. 为什么要发“!!!”因为!x&y和!(x&y)..感受一下.. #include <iostre ...

  10. 我JSP学习心得1

    老师布置了一项作业,说是要按着老师的要求写,但我觉得只要是技术分享的心得就是好的,不论是不是所要求的内容. 由于和几个人在外面给别人搭建网站,项目需要学习了jsp有用到了javascript,这里有一 ...