在实体框架中定义两个外键作为主键

2024-05-06

在实体框架中,我想使用两个外键作为另一种实体类型的主键。

public class CustomerExtensionValue {

    // Values for extended attributes of a customer
    [Key]
    [Column(Order = 0)]
    public Customer Customer { get; set; }

    [Key]
    [Column(Order = 1)]
    public CustomerExtension Extension { get; set; }

    [Required]
    public string Value { get; set; }
}

但是,这给了我一个错误,即密钥丢失。\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'CustomerExtensionValue' has no key defined. Define the key for this EntityType.

我知道我可以定义另外两个属性来保存引用实体类型的主键。 Visual Studio 不够聪明,无法自行使用主键吗?


主键始终必须由实体类中的标量属性定义。您不能仅通过导航属性来引用 PK。在您的模型中需要这样的定义:

public class CustomerExtensionValue {

    [Key, ForeignKey("Customer"), Column(Order = 0)]
    public int CustomerId { get; set; }

    [Key, ForeignKey("Extension"), Column(Order = 1)]
    public int ExtensionId { get; set; }

    public Customer Customer { get; set; }
    public CustomerExtension Extension { get; set; }

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

在实体框架中定义两个外键作为主键 的相关文章

  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况

随机推荐

  • 如何在IOS中自定义键盘[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在我的应用程序中为 IOS 创建
  • 阻止 WKWebView 中加载的 url 中的广告

    我正在 webView 中加载 url 现在我想阻止 webView 中的 url 中的广告 我怎样才能实现这个目标 webVw loadRequest NSURLRequest requestWithURL NSURL URLWithSt
  • 查找数组中元素之间的平均差异的有效方法

    希望标题不会让人困惑 通过例子来展示很简单 我有一个像这样的行向量 1 5 6 我想找到每个元素之间的平均差异 此示例中的差异为 4 和 1 因此平均值为 2 5 这是一个小例子 我的行向量可能非常大 我是 MatLab 新手 那么有没有一
  • 将 android-sdk 和 sdk 文件夹移动到另一个驱动器

    我的 Windows 位于 128GB SSD 硬盘上 但空间不足 文件夹C Users User AppData Local Android有 2 个文件夹android sdk and sdk使用约 30GB 空间的文件夹 是否可以将这
  • Java 类路径和相对路径

    如果java类路径中有相对路径 那么这是否只是搜索当前工作目录 对于清单文件中声明的类路径也是如此 在清单文件中 它是相对于 jar 所在的目录吗 前任 命令行 java cp somejar jar Or Manifest Class P
  • 如何向 Visual Studio Intellisense 添加按钮

    我想在 Visual Studio 的 IntelliSense 返回的选项列表的顶部添加一个按钮 单击该按钮时 将执行我的自定义代码 这将导致出现弹出窗口 我将其称为 按钮 因为当用户单击该项目时 我希望出现一个弹出窗口 而不是完成用户输
  • 如何从解析迅速检索音频文件

    我已成功将音频文件保存到 Parse 但很难再次下载它 我无法弄清楚 getDataInBackgroundWithBlock 的块应该是什么 以及如何实际保存文件 非常感谢任何帮助 let query PFQuery className
  • __init__ 的正确类型注释

    什么是正确的类型注释 init python 中的函数 class MyClass 以下哪一项更有意义 def init self type None gt None def init self type MyClass gt MyClas
  • 添加一个新列,其中标签附加到新月形数字

    我想添加一个新列 给出一个常量标签 并逐行附加新月数字逻辑 我的输入 position work chr1 jil2001 chr4 jil2001 chr3 kou2009 chr9 nai2012 chr7 fandis2005 我的预
  • Pandas MultiIndex 按分类顺序自定义排序级别,而不是按字母顺序

    我是 Pandas 0 16 1 的新手 并且希望在多索引中进行自定义排序 因此我使用分类 我的多重索引的一部分 Part Defect Own 504 504 504 505 506 507 530 530 530 我创建了具有多索引级别
  • javascript中映射对象的字符串

    var map new Map map set key1 value1 map set key2 value2 console log map console log map toString console log JSON parse
  • 使用 XSLT(即 XML Transformer)时防止 DTD 下载

    我必须在 Java 中处理具有 DTD 和 XSLT 的 XML 文件 DTD 确实是必要的 因为它包含我使用的实体的定义 旁白 是的 将实体用于可以使用 unicode 的东西是一个坏主意 当我运行转换时 它每次都会从外部源下载 DTD
  • 如何在悬停时向表 tr 元素添加框阴影? [复制]

    这个问题在这里已经有答案了 所以我试图在我的桌子上添加一个盒子阴影tr悬停时的元素 目前 它在 Firefox 中运行良好 但在其他浏览器中则不然 CSS table tbody tr hover background color 1332
  • 在 SQL where 子句中使用带有 IsDate 的 case 语句

    我正在尝试清理以下代码中的 where 子句语句 SELECT CONVERT datetime UTC Time Stamp 127 AS TimeStamp FROM Table WHERE CASE WHEN ISDATE UTC T
  • Rails:跟踪用户的 ID

    在我的 Rails 应用程序中 我有一个登录页面 该人登录后 我的应用程序继续跟踪已登录人员的最佳方式是什么 例如 如果用户移动到不同的页面 我的控制器 操作将失去对该用户的跟踪 除非我继续传递用户随后访问的每个页面之间的变量 有更好的方法
  • 如何同时执行多个 jquery 效果?

    我正在页面上制作一些错误 验证元素的动画 我希望它们能够弹跳并突出显示 但如果可能的话 同时进行 这是我目前正在做的事情 var els errorMsg els effect bounce times 5 100 els effect h
  • 在 React Native iOS 中在图像顶部渲染具有透明背景的文本框

    我正在尝试在 React Native 测试中在图像顶部渲染一个带有白色文本的块 但相反 我在图像顶部看到一个黑色块 其中有白色文本 不是我所期望的 如何渲染具有透明背景的文本块 当前结果 渲染功能 render function retu
  • 是否有一个 x86 内在函数可以生成从内存中的 32 位浮点值到 512 位寄存器的 AVX512 广播操作?

    该指令存在 vbroadcastss zmm m32 但似乎没有内在的东西来生成它 我可以将其编码为 static inline m512 mybroadcast float x m512 v asm inline vbroadcastss
  • 如何以跨系统的方式将进程仅绑定到物理核心?

    我在用着每次将线程数加倍的项目 https github com ConsenSys mythril pull 1372 files 您会增加 40 到 60 的开销 由于超线程将性能最多提高了 30 这意味着程序在超线程系统上的运行速度比
  • 在实体框架中定义两个外键作为主键

    在实体框架中 我想使用两个外键作为另一种实体类型的主键 public class CustomerExtensionValue Values for extended attributes of a customer Key Column