码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET MVC5 用CodeFirst做网站遇到的问题——主外键冲突

时间:2017-08-24 22:32:32      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:required   错误   cas   外键   .net   plain   百度   tail   false   

数据库中存在complainsuggest的Id然后再此基础上,建立投诉的回复Answer。但是老是会报主外键冲突,一直在网上百度。说是因为在complainSuggest上没有Id,对于answer需要其Id为外键,所以冲突。但是找了数据库根本就没有这个问题。

然后反过来找之前建立的实体和上下文中的表间关系。然后就发现自己对于表间关系的建立并不是很熟练,所以导致了各种错误。

最后把一对一的表间关系变成这个样子才可以,但是我感觉这个一对一的表间关系和一对多的表间关系看起来是一样的。

但是他就是合适的。我很无奈,所以还需要继续修炼。

更改了表间关系之后一定要记得删掉数据库,再次运行,才可以正常运行。

modelBuilder.Entity<ComplainSuggest>()
                .HasKey(c => c.Id);
            modelBuilder.Entity<Answer>()
                .HasKey(a => a.Id);

            modelBuilder.Entity<Answer>()
                .HasRequired(c => c.ComplainSuggest)
                .WithMany()
                .HasForeignKey(a=>a.ComplainSuggestID)
                .WillCascadeOnDelete(false); 

 这是别人写的一对一,一对多的关系,可以看一下。

http://blog.csdn.net/ago52030/article/details/1721033

ASP.NET MVC5 用CodeFirst做网站遇到的问题——主外键冲突

标签:required   错误   cas   外键   .net   plain   百度   tail   false   

原文地址:http://www.cnblogs.com/myis55555/p/7425446.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!