繁体   English   中英

如何在 EF Core 中配置一种方式的一对一关系?

[英]How to configure one way One-to-One relationship in EF Core?

我有这个

public class BankAccount
{
    public Guid Id { get; set; }
    public string BankName { get; set; }
    public string AccountNo { get; set; }
    public Guid CurrencyId { get; set; }
    public Currency Currency { get; set; }
}  

public class Currency
{
    public Guid Id { get; set; }
    public string Code { get; set; }
    public string Name { get; set; }
}  

许多表都使用Currency ,例如BankAccountPurhasePayment 所以我在我的EntityTypeBuilder<BankAccount> builder中完成了这个

builder.HasOne(c => c.Currency)
    .WithOne()
    .HasForeignKey<BankAccount>(e => e.CurrencyId);  

但是,当我检查数据库时。 它正在创造一个独特的

CREATE UNIQUE INDEX ix_bank_account_currency_id ON public.bank_account USING btree (currency_id);

当多个记录使用相同的Currency (例如美元)时,这会导致重复错误。

什么是正确的 FluentAPI 语法? 我正在使用 EF Core 6。任何帮助将不胜感激。

builder.HasOne(c => c.Currency)
    .WithMany()
    .HasForeignKey(e => e.CurrencyId);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM