EF4 CTP5 自引用分层实体映射

2024-04-13

好吧,这应该很容易,但我一直在抓狂。这是我的 POCO(与机器零件有关,因此零件可以包含在父零件中):

public class Part
{
   public int ID { get; set; }
   public string Name { get; set; }
   public Part ParentPart { get; set; }
}

创建数据库表时,列名称为“ID”、“Name”和“PartID”。如何将最后一列的名称更改为“ParentPartID”?


基本上,您想重命名中的外键独立协会这是执行此操作的流畅 API 代码:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Part>()
                .HasOptional(p => p.ParentPart)
                .WithMany()
                .IsIndependent()
                .Map(m => m.MapKey(p => p.ID, "ParentPartID"));
}

然而,由于 CTP5 中的错误,此代码在自引用关联(这是您的关联类型)。解决方法是将您的关联更改为外键关联如下:

public class Part
{
    public int ID { get; set; }
    public string Name { get; set; }                
    public int ParentPartID { get; set; }

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

EF4 CTP5 自引用分层实体映射 的相关文章

  • r - 来自子/父关系的分层数据框架

    我有一个子父 data frame 我想将其转换为包含所有级别和级别编号的完整层次结构列表 下面的示例数据分为三个级别 但也可能更多 我可以使用什么函数来转换数据 Source data frame name c land water ai
  • 用于在自连接表中的嵌套

    Please help me solve my big problem in my on line shopping project i created a dynamic Category List with Infinite Level
  • 父子层次结构的递归查询。从顶部节点获取后代

    我有一张表 它以父子格式存储层次结构数据 并带有一个顶部节点 多个级别 每个父母都有多个孩子 如何编写递归查询以仅选择从特定节点到最后一个子节点的父子行 示例表 Parent child 1 2 1 3 2 4 2 5 3 6 3 7 6
  • 处理数据库中的层次结构数据

    我很想知道在数据库设计方面处理层次结构的最佳方法 最佳实践 是什么 这是我通常如何处理它们的一个小例子 节点表 NodeId int PRIMARY KEY NodeParentId int NULL DisplaySeq int NOT
  • 当 id 和父级 id 位于同一个表中时,我可以选择父级的完整层次结构吗?

    我有一个表 其中有一列 Id 和 ParentId ParentId 包含表中另一行的 Id 如果 ParentId 为 null 则它是层次结构的顶部 我有一行的 ID 我想选择层次结构中该行上方的所有行 我可以在一次选择中完成此操作吗
  • 如何显示类别和子类别?

    如何显示类别和子类别 我在数据库中有一张表 该表中的行看起来像这样 CREATE TABLE IF NOT EXISTS category id int 11 NOT NULL AUTO INCREMENT name varchar 45
  • 创建树结构

    我正在开发一个 asp net 项目 在我的 aspx 页面中 我有一个 gridview 它有 3 列 元素 目标 父级 在客户端 我想使用 gridview 中的数据构建一个树结构 然后用数字构建一个树 我找到了有关如何构建图形的信息和
  • SQL Server 树查询

    我需要一些帮助是 MS SQL Server 查询 我算不上一个 DBA 我有一个带有组织表的应用程序 该表由父子关系组成 CREATE TABLE dbo Organizations OrgPK int IDENTITY 1 1 NOT
  • 使用 R 中 {boot} 中的 boot() 函数对最高级别的集群数据进行非参数引导

    我有两级分层数据 我正在尝试在最高级别上执行非参数引导采样 即 通过替换对最高级别的集群进行随机采样 同时保留原始的集群内数据 我想使用 boot 包中的 boot 函数来实现此目的 因为我想使用需要引导对象的 boot ci 来构建 BC
  • 自连接查询

    是否可以仅使用 join 进行父子查询而不循环遍历临时表 数据库样本 menuid name parent url A0000 Master A0000 A0001 Rekening A0000 master rekening aspx A
  • 使用单个 SQL 查询构建层次结构树

    我有一个SQL表具有以下结构 id int par int relational to id name varchar Column par包含对id or NULL如果没有参考 此表旨在构建一个层次树 然后 给定数据 id par nam
  • 从 MySQL 中的分层数据生成基于深度的树(无 CTE)

    嗨 很多天我一直在 MySQL 中解决这个问题 但是我无法弄清楚 你们有什么建议吗 基本上 我有一个类别表 其中包含以下域 id name 类别名称 以及parent 类别的父类别的 ID 示例数据 1 Fruit 0 2 Apple 1
  • Oracle:用户数据中按循环连接

    我了解 Oracle 中何时会发生循环 从理论上讲 如果一条记录既是另一个节点的父节点 又是另一个节点的子节点 那么它就可以进入循环 但我不明白为什么我的这个特定查询会陷入循环 SELECT Empno Ename Job FROM Emp
  • SQL 查询以获取主管层次结构列表。员工-->主管-->主管

    我有两个表 员工 和 部门 该图像显示了每个员工的经理 我想编写一个 SQL 查询 为我提供所有主管 经理 经理的经理 的列表 我只想要一个列 在给定特定员工时显示主管列表 例如 如果我给员工 id 202 那么我应该收到 200 130
  • PHP/MYSQL 父子关系

    我有一个这样的表 id name 父 ID 然后我想根据它们的 id 选择某些行 所以像这样 SELECT FROM TABLE WHERE id IN 1 5 8 9 35 我想从这个查询中也显示父 子关系 例如 id parent 1
  • 关系数据模型与分层数据模型

    当 的时候关系模型 https en wikipedia org wiki Relational model由 F E Codd 提出 当时建立的数据库使用的是层次模型 https en wikipedia org wiki Hierarc
  • 在父子表单无序列表中打印分层数据php?

    我在父子层次结构中的 mysql 表中有数据 例如 msg id parent id msg 1 NULL msg1 2 NULL msg2 3 NULL msg3 4 1 msg1 child1 5 1 msg1 child2 6 3 m
  • Hibernate Polymorphism.EXPLICIT 注释不起作用?

    我知道有一些关于此的帖子 但大约一年了 没有任何回应 实际上我们使用的是 Hibernate 4 2 1 Final 而不是 PostgreSQL 8 4 我们有两个这样的实体 实体 A 顶级层次类 Entity Inheritance s
  • 在Python和XML中递归搜索父子组合并构建树

    我正在尝试遍历这个充满父子关系的 XML 数据 并且需要一种方法来构建树 任何帮助将不胜感激 另外 在这种情况下 父 gt 子关系有属性还是节点更好
  • MySQL分层存储:搜索所有父母/祖父母等。给定子节点 id 的节点?

    我使用分层模型存储类别 如下所示 CATEGORIES id parent id name 1 0 Cars 2 0 Planes 3 1 Hatchbacks 4 1 Convertibles 5 2 Jets 6 3 Peugeot 7

随机推荐

  • 我可以从闪存驱动器运行 Visual Studio 2010 吗?

    在我的工作中 我有一台装有 Windows 7 的新机器 我想保持我的开发技能 因此我想在该机器上加载我的 Visual Studio 2010 副本 但我没有管理员权限 我有一个 16 GB 闪存驱动器 是否可以将其加载到那里并从闪存驱动
  • 改变android中进度条的颜色

    我正在尝试更改水平进度条的颜色 但它没有改变 我做了一些谷歌搜索并浏览了您网站中给出的一些示例 但我没有成功地准确地改变颜色 我用了progressBar setProgressDrawable Drawable d 但它设置整个进度条视图
  • 想用jsp显示文件列表

    我是使用 glassfish 服务器的 netbeans 新手 我的 html 代码如下所示
  • 如何在 PHP 中包含一个类 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有文件index php 我想包含文件class twitter php在里面 我怎样才能做到这一点 希望当我将以下代码放入 index
  • TFS 构建服务器 - CSC:致命错误 CS2008:未指定输入

    当我们构建解决方案或错误引用的特定项目时 我们会在构建服务器上收到上述错误消息 我们可以使用 Visual Studio 也在构建服务器上 毫无问题地构建解决方案 但是在运行 msbuild 时会失败并出现上述错误 有任何想法吗 我找到了解
  • 在多个生命周期中运行 Maven 目标

    我有一个情况 我想在验证阶段和报告阶段运行 cobertura 插件 我有两个配置文件 它们都应该运行 cobertura 插件 但在配置文件 A 中 我只想创建 xml html 输出 但在配置文件 B 中 我将生成包含这些结果的完整站点
  • Selenium C# DefaultWait IgnoreExceptionTypes 不起作用

    我在等待 WebElement 可单击时使用 DefaultWait 尽管 TargetIncationException 是等待期间要忽略的异常列表中的异常之一 但在达到超时期限之前 我仍然有测试因该异常而失败 这不是我所期望的 publ
  • Linux下如何用C实现定时器的回调函数

    我已经在许多论坛上搜索了几天可能的解决方案 但没有运气 我在这里发布我的问题 非常感谢您的回复 主意 使用脚本控制灯光 Linux下C语言 应用场景 我有三盏灯 红 蓝 绿 脚本有控制它们的时间表 例如 从现在起10秒后 亮红灯2秒 从现在
  • 组合框 - 键入选择,然后单击焦点外 - 不会选择键入的项目

    我的组合框有问题 我有一个事件处理程序OnClick它根据选择的项目刷新数据 问题是当这种情况发生时 下拉组合框列出各种选项 在键盘上键入以查找匹配的项目 组合框更改此选择并调用OnClick event 由于此选择 事件 我的屏幕刷新 单
  • 如何使用reactJs根据背景颜色更改字体颜色

    我的容器有动态背景 它将由用户更改 因此我需要根据背景颜色设置文本颜色 例如 我设置容器的黑色背景 然后我需要为文本设置白色 我正在为我的应用程序使用 ReactJs 和材料 UI 库 请建议一些好的路径 请参阅下面的示例代码 import
  • 尝试加载方向变化的新视图

    我正在尝试在 Xcode 中创建一个应用程序 当手机从一个方向旋转到另一个方向时 该应用程序将切换到新视图 这是 switchviewcontroller h 文件代码 import
  • 下标变量

    有没有什么方法可以强制 Mathematica 独立于无下标变量来处理下标变量 进一步来说 比如说 我有以下定义 Subscript b 1 1 2 Subscript b 2 3 4 b Join Subscript b 1 Subscr
  • VS .Net:在安装程序项目中发布“来自 的主要输出”的构建事件

    我在项目中使用以下构建后操作 将库合并到我的应用程序中 IF ConfigurationName Debug GOTO end cp TargetPath TargetDir app unmerged exe del TargetPath
  • 将对象序列化为 XML

    我有一个继承的 C 类 我已经成功地 构建 了该对象 但我需要将对象序列化为 XML 有简单的方法吗 看起来该类已设置为序列化 但我不确定如何获取 XML 表示形式 我的类定义如下 System CodeDom Compiler Gener
  • ARC 是否保留无主引用的计数?

    ARC 是否保留对对象的无主引用的计数 那么 如果一个对象的强引用计数达到 0 并且该对象的无主引用计数 gt 0 则该对象将被取消初始化但不会被取消分配 只有当强引用计数和无主引用计数达到 0 时 它才会被释放 我在 Medium 上的一
  • GCC 错误:非命名空间范围中的显式专业化

    我正在尝试移植以下代码 我知道该标准不允许在非名称空间范围内显式专业化 我应该使用重载 但我只是找不到在这种特殊情况下应用此技术的方法 class VarData public template lt typename T gt bool
  • vs2008/vs2010 在 TextBox 中是否有插入符位置更改事件?

    我需要留意文本框内的插入符号位置 有这方面的活动吗 我不想为此使用计时器 例如 每 10 毫秒检查一次位置是否发生变化 我正在使用 Windows 窗体 本机 Windows 控件不会为此生成通知 尝试解决此限制会带来痛苦 您只是无法分辨插
  • 一次性返回所有可枚举的yield return;不循环

    我有以下函数来获取卡的验证错误 我的问题涉及处理 GetErrors 两种方法具有相同的返回类型IEnumerable
  • git:小型项目工作

    我目前正在尝试遵循 Pro Git 书中提到的基于小型项目的工作组 http progit org book ch5 2 html http progit org book ch5 2 html 所以 这是我的设置 Live Website
  • EF4 CTP5 自引用分层实体映射

    好吧 这应该很容易 但我一直在抓狂 这是我的 POCO 与机器零件有关 因此零件可以包含在父零件中 public class Part public int ID get set public string Name get set pub