【问题标题】:MVC WCF Exception metadata was not handled by user code用户代码未处理 MVC WCF 异常元数据
【发布时间】:2016-09-16 06:34:36
【问题描述】:

我正在编写 MVC Web 应用程序和 WCF 应用程序以将它们连接在一起,并且它们都可以正常工作,但是在连接它们之后,我在 mvc 应用程序中得到一个异常并且该异常完全正确:

“System.Data.Entity.Core.MetadataException”发生在EntityFramework.dll中,但在用户代码中没有处理。

附加信息 webapplication 的主要规则是使用 locaö 数据库和 Remote 数据库两个数据库连接来添加和管理用户与 asp.net 实体。 Wcf 应用程序连接到远程数据库,它的作用是将信息从 web 应用程序传输到远程数据库。 没有与 WCF 连接的 web 应用程序可以完美地工作,但是在我将引用添加到我的 WCF 之后,它会停止处理此异常。 内部错误:

该方案无效。错误: 将 CLR 类型分配给 EDM 类型是不明确的,因为多个 CLR 类型与 EDM 类型“tab_OnlineUserClaim”匹配。以前找到的CLR类型

'ELVIRA_Userverwaltung.ServiceReference1.tab_OnlineUserClaim',新发现的 CLR 类型'Userverwaltung.Models.tab_OnlineUserClaim'。将 CLR 类型分配给 EDM 类型是不明确的,因为多个 CLR 类型与 EDM 类型“tab_OnlineUserLogin”匹配。之前发现CLR类型'ELVIRA_Userverwaltung.ServiceReference1.tab_OnlineUserLogin',新发现CLR类型'Userverwaltung.Models.tab_OnlineUserLogin'。


【问题讨论】:

    标签: entity-framework wcf model-view-controller asp.net-core-mvc


    【解决方案1】:

    这意味着应用程序无法加载 EDMX。

    • 您可能已经更改了 模型复制到输出目录。

    • 连接字符串可能有误。我知道你说你没有改变它,但如果你改变了其他东西(比如,一个人的名字 组装),它仍然可能是错误的。

    • 您可能正在使用后编译任务将 EDMX 嵌入程序集中,但由于某种原因它不再工作。

    简而言之,您的问题中没有足够的细节来给出准确的答案,但希望这些想法能让您走上正轨。

    【讨论】:

    • 我正在手动添加连接字符串,我很确定这是 100% 正确的。
    • 在 web 应用程序中我使用 Ado.net,在 WCF 中我使用 Linq,并且我编辑帖子以提供更多信息
    • 只有当两个类具有相同的名称和相同的参数集时才会发生 EF 冲突。
    • 确定因为我连接的是同一个数据库
    • EF 匹配类名和类属性。因此,只需更改其中一个 EF 对象的属性名称即可保持不同的名称不同的名称。
    猜你喜欢
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 2018-10-25
    相关资源
    最近更新 更多