gpt4 book ai didi

c# - Entity Framework 和 .NET 的一对一关系

转载 作者:行者123 更新时间:2023-12-04 07:22:31 24 4
gpt4 key购买 nike

我首先使用代码在我的类之间创建关系。集成发生在 MySql 中,但是,在迁移之后,当我检查我的工作台 ERD 时,将其视为一对多的关系。
如何使用下面提到的类进行一对一的关系?
这是我的代码:

public class About  
{
[ForeignKey("User")]
public int Userid { get; set; }
public int id { get; set; }
public string about_file { get; set; }
public string about_desc { get; set; }
public virtual User User { get; set; }
}

public class User
{
[Key]
public int id { get; set; }
public string login { get; set; }
public string password { get; set; }
public virtual About About { get; set; }
public ICollection<Offers> Offers { get; set; } = new List<Offers>();
public ICollection<Portfolio> Portifolios { get; set; } = new List<Portfolio>();
}
Microsoft.EntityFrameworkCore 版本:{5.0.7}
Image from my ERD generated by workbench

最佳答案

这只是约定俗成的一对一关系。从 Entity Framework 的角度来看,拥有导航属性而不是集合可确保只有一个子实体可以与一个父实体相关联。但是在数据库级别,没有什么可以阻止创建多个子实体。
如果要在数据库级别强制执行它,请向子实体上的外键添加 UNIQUE 约束,或者使两个实体上的主键相同并将其设为外键。

关于c# - Entity Framework 和 .NET 的一对一关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68411673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com