OData异常复杂类型“WebTools.Order”通过属性“Customer”引用实体类型“WebTools.Customer”

2023-11-30

我正在开始使用 OData 和实体框架。

我创建了一个公开客户的控制器。在模型(edmx)中只有一个实体(客户)并且一切正常(数据正在渲染)。

现在,当我添加第二个实体(订单)(从数据库更新模型,选择订单)时,一对多(1 个客户对多个订单)会自动设置。

我什么也没做,当我编译/运行控制器时,我收到此错误:

Line 23:         builder.EntitySet(Of Customer)("Customers")
Line 24:         Return builder.GetEdmModel()  --> Exception Here
Line 25: 
Line 26:     End Function

复杂类型“WebTools.Order”通过属性“Customer”引用实体类型“WebTools.Customer”。

如果我删除订单实体,它就会起作用。

我不确定问题是否出在方程式的 OData/WebAPI 部分或“实体框架”的“配置”上。


我假设模型构建器无法找出实体类型 Order 的关键属性。您可以通过多种方式帮助模型构建者,

  1. builder.EntitySet<Order>("orders");。这会添加一个新的实体集“orders”,并且还具有将类型“Order”标记为实体类型的效果。您还必须指定“Order”的关键属性。

  2. 使用以下标记标记“Order”类型上的关键属性(或多个属性)[Key]属性。

  3. 如果您讨厌属性并且更喜欢在代码中执行它,您可以这样做,builder.EntitySet<Order>("orders").EntityType.HasKey(o => order.KeyProperty);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OData异常复杂类型“WebTools.Order”通过属性“Customer”引用实体类型“WebTools.Customer” 的相关文章

随机推荐

  • 查找供应每个零件的供应商的 sids

    Suppliers sid sname address Parts pid pname colour Catalog sid pid cost 找到所有供应每个零件的供应商 的答案是 SELECT C sid FROM Catalog C
  • 如何获取配对的蓝牙设备

    我想创建一个应用程序 在我的应用程序中向我显示已配对的设备 例如 在检测并显示我之前与我配对的任何设备 下次我也想寄一个NSString like hello 至配对设备 我在谷歌搜索 我很困惑 请首先告诉我如何将设备与我的手机配对 然后告
  • 使用 sudo 更改根目录中的文件[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个脚本来配置resolv conf and etc network interfaces自动地 我以 sudo 身份运行命令 但收到 权限被拒绝 错误 sudo apt get assume ye
  • 如何在循环中使用 numpy.dstack?

    我正在尝试通过使用 2D 数组和 np dstack 来填充数组 m1 np array 1 1 1 1 m2 np array 2 2 2 2 m3 np array 3 3 3 3 lst m1 lst np dstack lst m2
  • 查找 Scikit-learn 分类器中最常见的术语 [重复]

    这个问题在这里已经有答案了 我正在关注Scikit 学习文档中的示例 where CountVectorizer用于某些数据集 Question count vect vocabulary viewitems 列出所有术语及其频率 如何按出
  • 如何在 R 中读取和命名不同的 CSV 文件

    我想对几个 csv 文件进行一些比较 因此我编写了以下代码来读取我拥有的不同 csv 文件 path lt C data files lt list files path path pattern csv for file in files
  • Python 类中的变量作用域

    在类中声明变量 在函数之外 所有类函数都可以访问它 基本上是公共变量 在类内的函数内声明变量 只有该函数可以访问它 它在该函数的范围内 声明一个变量self variable name 在类内的函数内部 所有类函数都可以访问它 这与glob
  • 如何使用 @compatibility_alias 为以前版本的 iOS 的类添加别名

    有人可以告诉我如何使用 compatibility alias 获取一个类 例如 UIActivityViewController 这是 iOS 6 中新增的 并使用 compatibility alias 使其在 iOS 5 和 iOS
  • 自定义动画菜单 CSS/ jQuery

    我有这个代码片段 想知道是否有可能对其进行修改 以便在悬停翻译后获得 在单击事件上保持原位或向右移动几个像素 直到单击另一个菜单按钮 mynewmenu implementation nav ul li mouseover function
  • 无法将用户输入值回显到批处理脚本中的文件

    我正在编写一个批处理文件 它将根据多个用户输入值生成 写入属性文件 但是 它不记录输入的值 结果看起来像 prop1 prop2 我想知道是否有一些我需要知道的设置会阻止它工作 奇怪的是 如果我多次运行这个特定的脚本 echo 输出的值似乎
  • Cordova 无法为 2097152KB 对象堆保留足够的空间

    我是 cordova 新手 正在尝试创建一个 android HelloWold 项目 当我使用cordova platforms add android 它会抛出一些异常 D CordovaSpace helloWorld gt cord
  • 如何使用 SMO 更有效地检索 SQL 存储过程参数?

    我正在尝试检索 StoredProcedure 中所有参数的 DefaultValue 我的应用程序是用 C NET 构建的 访问 Microsoft SQL 2008 数据库 我使用 SqlCommandBuilder DerivePar
  • 模拟列表并尝试迭代它

    目前使用 Mockito 来测试我的一个类中的方法 我的类包含一个列表 并且该方法接受同一类的对象 问题是当我尝试从对象迭代列表时 我得到一个指向列表的空指针 下面您将看到代码片段 private Shipment shipment pri
  • 原始套接字编程 UDP Python

    如何在 python 中以 SOCK RAW 格式添加自定义字段 如 IP 和 UDP 标头 我想在数据包中有一个自定义字段并在计算中使用该字段 您没有指定自定义字段的位置 此示例允许您随意构建 UDP 标头 至少在 Linux 上 可能存
  • JavaScript 字符串相等性能比较

    我有一个 JavaScript 菜鸟问题 假设我们有两个相等的非常大的字符串 一百万个字符或更多 它们具有相同的长度和相同的内容 假设我们有这两个函数 它们都执行相同的操作 比较字符串 function equals1 a b return
  • 如何在空手道上集成 socket.io

    我知道空手道有对 WebSocket 的内置支持 但无论如何可以使用套接字 io空手道 我想将消息发送到与 socket io 通信的微服务中 并等待响应以断言该消息符合预期 不 您不能使用空手道中的任意 JavaScript 库 而且通常
  • 将值附加到 c 数组

    这是一个非常简单的问题 但我不知道该怎么做 例如 我有一个名为Array包含值 1 2 3 4 5 6 我想添加第七个值 7 到数组 因此它包含 1 2 3 4 5 6 7 有一个函数可以做到这一点吗 我需要包含任何额外的头文件吗 任何帮助
  • 适用于即时消息传递的协议

    我们必须使用合适的协议开发一个用于即时消息传递的本机移动应用程序 我们还将为该应用程序开发一个网站 以便那些无法登录移动设备的人可以通过该网站继续进行即时消息传递 随后 我们将向本机移动应用程序和网站添加语音和视频通话功能 现在我的问题是
  • JavaScript %(模)对于负数给出负结果

    根据谷歌计算器 13 64 is 51 根据 Javascript 参见此JSBin it is 13 我该如何解决 Number prototype mod function n use strict return this n n n
  • OData异常复杂类型“WebTools.Order”通过属性“Customer”引用实体类型“WebTools.Customer”

    我正在开始使用 OData 和实体框架 我创建了一个公开客户的控制器 在模型 edmx 中只有一个实体 客户 并且一切正常 数据正在渲染 现在 当我添加第二个实体 订单 从数据库更新模型 选择订单 时 一对多 1 个客户对多个订单 会自动设