gpt4 book ai didi

c# - 零到一只有一个外键流畅映射

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:47 24 4
gpt4 key购买 nike

我有两个类(class)

public class Foo
{
public int FooId {get;set;}
public virtual Bar Bar {get;set;}
}

public class Bar
{
public int BarId {get;set;}
public int? FooId {get;set;}
public virtual Foo Foo {get;set;}
}

我正在使用 Entity Framework 的流畅映射。我怎样才能将 Foo 和 Bar 映射在一起,这样我就可以拥有:

一个bar和一个或零个foo

一个foo和一个或零个bar

我认为这是第三范式的正确模式。如果 Foo 有一个 BarId 外键,我知道该怎么做,但事实并非如此。

最佳答案

要执行您要求的操作,您需要配置两种不同的单向关系:

modelBuilder.Entity<Foo>()
.HasOptional(s => s.Bar)
.WithMany();

modelBuilder.Entity<Bar>()
.HasOptional(s => s.Foo)
.WithMany()
.HasForeignKey(s => s.FooId);

关于c# - 零到一只有一个外键流畅映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47420981/

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