asp.net – 无法将第二个自引用FK添加到模型,导致无法确定主要结
发布时间:2020-12-16 03:24:19 所属栏目:asp.Net 来源:网络整理
导读:首先,我知道有很多关于无法确定类型错误之间关联的主要结束的帖子,但我看到的单个问题与我的问题不符,如果我错过了一个抱歉. 我已经构建了一个实体,它最终会引用它自己两次,当我将代码放入第一个自引用时,它可以正常工作,只要广告第二个代码就打破它.做一些
首先,我知道有很多关于无法确定类型错误之间关联的主要结束的帖子,但我看到的单个问题与我的问题不符,如果我错过了一个抱歉.
我已经构建了一个实体,它最终会引用它自己两次,当我将代码放入第一个自引用时,它可以正常工作,只要广告第二个代码就打破它.做一些测试我发现,如果我使用自己的任何一个自我引用自我一切正常,只有当我添加第二个自引用它才会中断.我用于自引用的代码是: [ForeignKey("ManagerID")] public User Manager { get; set; } //Auditing Fields public DateTime DateCreated { get; set; } public int? UpdatedByUserID { get; set; } public DateTime? DateUpdated { get; set; } public DateTime LastAutoUpdate { get; set; } [ForeignKey("UpdatedByUserID")] public User UpdatedByUser { get; set; } 完整的实体代码块是: public class User { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int ID { get; set; } public int ADPFileNumber { get; set; } [Required] public string ADUserName { get; set; } public int AirCardCheckInLateCount { get; set; } [Required] public string Email { get; set; } public DateTime? EndDate { get; set; } [Required] public string FirstName { get; set; } [Required] public string LastName { get; set; } public int ManagerID { get; set; } public string MobilePhone { get; set; } [Required] public string Office { get; set; } [Required] public string Phone { get; set; } public decimal PTO { get; set; } public DateTime StartDate { get; set; } public int VehicleCheckInLateCount { get; set; } public int WexCardDriverID { get; set; } [ForeignKey("ManagerID")] public User Manager { get; set; } //Auditing Fields public DateTime DateCreated { get; set; } public int? UpdatedByUserID { get; set; } public DateTime? DateUpdated { get; set; } public DateTime LastAutoUpdate { get; set; } [ForeignKey("UpdatedByUserID")] public User UpdatedByUser { get; set; } } 我错过了什么导致第二个自我引用中断? 解决方法
您必须明确指出两个关联的主要结尾.你可以使用你原来的类来做到这一点,没有逆集合属性:
modelBuilder.Entity<User>() .HasOptional(u => u.Manager) .WithMany() .HasForeignKey(u => u.ManagerID); modelBuilder.Entity<User>() .HasOptional(u => u.UpdatedByUser) .WithMany() .HasForeignKey(u => u.UpdatedByUserID); 请注意,ManagerID应该是一个int?同样.如果需要其他用户预先存在,则无法创建任何用户.这是一个鸡与蛋的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – EF,ASP MVC依赖注入.多个并发请求和数据库连
- asp.net-mvc – 我应该在ASP.NET MVC中使用Anti-XSS安全运行
- asp.net – Page_Load中的Response.Redirect
- IE不提供保存ASP.NET表单的密码
- 如何指导获取一个经典的asp应用程序在IIS 7.0下工作
- ASP.NET MVC – 以编程方式添加动作过滤器
- asp.net – Solr Connection’已在容器中注册
- ASP.NET Web API返回可查询的DTO?
- 在ASP.NET中流文件的最佳方式
- asp.net – 推荐一个好的交互式语音应答系统来使用.NET?
推荐文章
站长推荐
- .net – StructureMap单例因参数而异吗?
- .net – SqlDataSource与ObjectDataSource
- asp.net – 使用sql server的Web应用程序中的审计
- 在ASP.NET WebForms中通过HTTPS远程访问elmah.ax
- ASP.NET – 如何从数据库有效地创建动态用户特定
- asp.net – AppFabric Cache连接类型和协议
- asp.net-mvc-3 – MVC 3客户端验证,模型绑定十进
- asp.net – 无法加载文件或程序集“Microsoft.Te
- asp.net – .net 4.5 iis HighDensityWebHosting
- asp-classic – 如何在经典的asp中读取文本文件
热点阅读