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

  • 相关阅读:
    mysql索引
    数据库修复
    数据库取值 三级分类后台遍历
    创建数据库!
    mysql按条件 导出sql
    nodejs 简单安装环境
    C++ 性能剖析 (一)
    C++ 性能剖析 (二):值语义 (value semantics)
    JavaScript Nested Function 的时空和身份属性
    C++ Reference 的“三位一体”诠释
  • 原文地址:https://www.cnblogs.com/myis55555/p/7425446.html
Copyright © 2011-2022 走看看