zoukankan      html  css  js  c++  java
  • ASP.NET MVC5 用CodeFirst做网站遇到的问题——主外键冲突

    数据库中存在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

  • 相关阅读:
    理解事件驱动select,poll,epoll三种模型
    谈谈对线程与进程的理解
    5-3.首行缩进
    5-2.行高
    5-1.字间距
    4-6.字体样式重置
    4-5.字体风格
    4-4.字体粗细
    4-3.字体颜色设置
    4-2.字体设置
  • 原文地址:https://www.cnblogs.com/myis55555/p/7425446.html
Copyright © 2011-2022 走看看