从EF模型创建SQL数据库的错误

发布于 2025-02-10 03:48:24 字数 2553 浏览 4 评论 0原文

当我想从EF模型创建SQL Server数据库时,我有问题。

这是我的模型:

public class BilanPatrimonial
{
    public int ID { get; set; }
    
    [Key, ForeignKey("EtatCivil")]
    public int EtatCivilMonsieurID { get; set; }
    public EtatCivil EtatCivilMonsieur { get; set; }

    public int EtatCivilMadameID { get; set; }
    public EtatCivil EtatCivilMadame { get; set; }
 }

public class EtatCivil
{
    public int ID { get; set; }

    public string Prenoms { get; set; }

    public DateTime DateNaissance { get; set; }

    public string LieuNaissance { get; set; }

    public string Nationalite { get; set; }

    public StatutProfessionnel StatutProfessionnel { get; set; }

    public string Profession { get; set; }

    public string NomEmployeur { get; set; }

    public string Activité { get; set; }

    public int Ancienneté { get; set; }

    public int SalaireAnnuelNet { get; set; }

    public int Rentes { get; set; }

    public int PensionsNettes { get; set; }

    public int BNCBICAnnuellesNetsNMoins1 { get; set; }

    public int BNCBICAnnuellesNetsNMoins2 { get; set; }

    public bool CentreGestionAgree { get; set; }

    public int BeneficeDeficitFoncier { get; set; }

    public int DividendesNMoins1 { get; set; }
    
    public int DividendesNMoins2 { get; set; }

}

我有2个类型的etatcivil对象

protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        
        modelBuilder.Entity<Annonce>().ToTable("Annonces");
        modelBuilder.Entity<HonorairesAChargeDe>().ToTable("HonorairesAChargeDe");
        modelBuilder.Entity<TypeChauffage>().ToTable("TypesChauffage");
        modelBuilder.Entity<TypeCuisine>().ToTable("TypesCuisine");
        modelBuilder.Entity<Favori>().ToTable("Favoris");
        modelBuilder.Entity<Agenda>().ToTable("Agendas");
        modelBuilder.Entity<Evenement>().ToTable("Evenements");
        modelBuilder.Entity<Offre>().ToTable("Offres");
        modelBuilder.Entity<BilanPatrimonial>().ToTable("BilansPatrimoniaux");
        modelBuilder.Entity<EtatCivil>().ToTable("EtatCivils");
        //modelBuilder.Entity<ChargesImmobilier>().ToTable("ChargesImmobiliers");
        //modelBuilder.Entity<AutresChargesMensuelles>().ToTable("AutresChargesMensuelless");
        //modelBuilder.Entity<Placement>().ToTable("Placements");
    }

当我尝试创建数据库时, 。 该消息告诉我在删除无操作或更新无操作上指定,但我不知道该怎么做。

任何帮助都将不胜感激,谢谢

I have a problem when I want to create my SQL Server database from my EF model.

Here's my model :

public class BilanPatrimonial
{
    public int ID { get; set; }
    
    [Key, ForeignKey("EtatCivil")]
    public int EtatCivilMonsieurID { get; set; }
    public EtatCivil EtatCivilMonsieur { get; set; }

    public int EtatCivilMadameID { get; set; }
    public EtatCivil EtatCivilMadame { get; set; }
 }

public class EtatCivil
{
    public int ID { get; set; }

    public string Prenoms { get; set; }

    public DateTime DateNaissance { get; set; }

    public string LieuNaissance { get; set; }

    public string Nationalite { get; set; }

    public StatutProfessionnel StatutProfessionnel { get; set; }

    public string Profession { get; set; }

    public string NomEmployeur { get; set; }

    public string Activité { get; set; }

    public int Ancienneté { get; set; }

    public int SalaireAnnuelNet { get; set; }

    public int Rentes { get; set; }

    public int PensionsNettes { get; set; }

    public int BNCBICAnnuellesNetsNMoins1 { get; set; }

    public int BNCBICAnnuellesNetsNMoins2 { get; set; }

    public bool CentreGestionAgree { get; set; }

    public int BeneficeDeficitFoncier { get; set; }

    public int DividendesNMoins1 { get; set; }
    
    public int DividendesNMoins2 { get; set; }

}

I have 2 objects of type EtatCivil

protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        
        modelBuilder.Entity<Annonce>().ToTable("Annonces");
        modelBuilder.Entity<HonorairesAChargeDe>().ToTable("HonorairesAChargeDe");
        modelBuilder.Entity<TypeChauffage>().ToTable("TypesChauffage");
        modelBuilder.Entity<TypeCuisine>().ToTable("TypesCuisine");
        modelBuilder.Entity<Favori>().ToTable("Favoris");
        modelBuilder.Entity<Agenda>().ToTable("Agendas");
        modelBuilder.Entity<Evenement>().ToTable("Evenements");
        modelBuilder.Entity<Offre>().ToTable("Offres");
        modelBuilder.Entity<BilanPatrimonial>().ToTable("BilansPatrimoniaux");
        modelBuilder.Entity<EtatCivil>().ToTable("EtatCivils");
        //modelBuilder.Entity<ChargesImmobilier>().ToTable("ChargesImmobiliers");
        //modelBuilder.Entity<AutresChargesMensuelles>().ToTable("AutresChargesMensuelless");
        //modelBuilder.Entity<Placement>().ToTable("Placements");
    }

When I try to create the database, the FOREIGN KEY 'FK_BilansPatrimoniaux_EtatCivils_EtatCivilMonsieurID1' cannot be created because of cascading cycles or access.
The message tells me to specify ON DELETE NO ACTION or ON UPDATE NO ACTION but I don't know how to do this.

Any help would be really appreciated, thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文