- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有点困惑,关于如何在 EF Core 2.1 中建立关系。我一直在以流畅的方式进行。
我有
public class Employee : IdentityUser
{
public int BranchId { get; set; }
public Branch Branch { get; set; }
}
public class Branch
{
public int Id { get; set; }
public int CompanyId { get; set; }
public Company Company { get; set; }
public ICollection<Employee> Employees { get; set; }
}
public class EmployeerConfig : IEntityTypeConfiguration<Employee>
{
public void Configure(EntityTypeBuilder<Employee> builder)
{
builder.ToTable("Employees");
}
}
public class BranchConfig : IEntityTypeConfiguration<Branch>
{
public void Configure(EntityTypeBuilder<Branch> builder)
{
builder.HasKey(x => x.Id);
builder.Property(x => x.Id).ValueGeneratedOnAdd();
builder.HasMany(x => x.Employees);
builder.ToTable("Branches");
}
}
我看到的所有示例大多使用 dbcontext 模型构建器,但不再需要这种方式,因为您现在可以像我一样使用拆分它。
我首先为 Company 和 Branch 建立了 2 种关系我什至没有指定关系但是我建立了我知道的数据库,但是当我尝试与 Employee 和 Branch 建立关系时,关系没有形成。
这让我在分支配置中添加了 builder.HasMany(x => x.Employees)
,现在关系正常了,但是我不确定我是否在 Employee 区域指定了一些东西来使完成?
我也不知道我是否还需要将虚拟添加到我的集合中,以及为什么如果我不使用 ToTable() 并构建我的数据库,所有表名都会缩写,我认为这是自动的。
最佳答案
EmployeerConfig 很好,如果您愿意,您可以添加 key
对于 Branch Config 添加这一行希望这对你有帮助。
builder.HasMany(x => x.Employee).WithOne(b => b.Branch).HasForeignKey(b => b.BranchId)
.OnDelete(DeleteBehavior.Cascade);
关于c# - EF Core - EntityTypeBuilder 一对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50498791/
我有点困惑,关于如何在 EF Core 2.1 中建立关系。我一直在以流畅的方式进行。 我有 public class Employee : IdentityUser { public int
如何解决这个 EntityTypeBuilder 不包含“导航”的定义? 刚刚添加了迁移。 项目:类库 .Net 标准 2。 modelBuilder.Entity("ExpenseManager.
我有这个示例代码: using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders
我使用以下模型构建器在我的数据库中设置我的关系。 在我的数据上下文中; protected override void OnModelCreating(ModelBuilder modelBuilde
我想生成并应用迁移,我在项目文件夹中的命令行上运行了以下命令。 AuthServer.Infrastructure> dotnet ef database update --context AppId
我是一名优秀的程序员,十分优秀!