通过单独表实现层级关联在EF中如何用Fluent API描述?

azev 2017-03-28 02:52:45
雇员

    
public class Employee
{
public int id { get; set; }
public String guid { get; set; }
public String name { get; set; }
public DateTime dt_hired { get; set; }

public virtual Employee Leader { get; set; }
public virtual ICollection<Employee> Staff { get; set; }
}


层级关系表

CREATE TABLE `e2e` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`e0` VARCHAR(50) NOT NULL COMMENT '上级guid',
`e1` VARCHAR(50) NOT NULL COMMENT '下级guid',
`dt_assigned` DATETIME NOT NULL,
PRIMARY KEY (`id`)
)

这个如何用Fluent API描述呢?
...全文
135 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
丰云 2017-03-28
  • 打赏
  • 举报
回复
引用 2 楼 azev 的回复:
多谢回复 不过目前是已经有这样的表结构和数据了 而且关联表还有其他信息
那你的情况就比较麻烦了,建议你见一个新表,该表跟这个员工表一对一关系,只保留id和parentId,其他属性看着给,这样就可以形成自关联,又不影响原表
azev 2017-03-28
  • 打赏
  • 举报
回复
多谢回复 不过目前是已经有这样的表结构和数据了 而且关联表还有其他信息
丰云 2017-03-28
  • 打赏
  • 举报
回复
为什么要用Fluent API描述呢? 直接自关联就可以了啊

public class Employee
    {
        public int id { get; set; }
        public int ParentId { get; set; }
        public String guid { get; set; }
        public String name { get; set; }
        public DateTime dt_hired { get; set; }
        public String duties { get; set; }
        [ForeignKey("ParentId")]
        public virtual Employee Leader { get; set; }
        public virtual ICollection<Employee> Staff { get; set; }
    }

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧