在实体框架中使用现有的外键值

本文关键字:键值 实体 框架 | 更新日期: 2023-09-27 18:11:23

我首先使用实体框架代码。我有两个模型类,货币和发票:

public class Currency
{
    [HiddenInput(DisplayValue = false)]
    public int CurrencyID { get; set; }
    public string ShortName { get; set; }
    public string FullName { get; set; }
    [Required(ErrorMessage = "Please enter a positive price")]
    public double Rate { get; set; }
}
public class Invoice
{
    public int InvoiceID { get; set; }
    public int CurrencyID { get; set; }
    public double RateOfExchange { get; set; }
    public double CurrencyAmount { get; set; }
    public virtual Currency Currency { get; set; }
    public virtual Customer Customer { get; set; }
}

我已经用一些货币值初始化了我的数据库。每当我添加一个新的Invoice时,我希望它使用Currency表中的现有值作为其Currency属性,但是每次我创建一个新的Invoice值并将其Currency属性分配给Currency表中的现有值时,它都会在Currency表中创建一个重复的值。如何解决这个问题?

在实体框架中使用现有的外键值

行首:

public virtual Currency Currency { get; set;}

添加以下属性:

[ForeignKey("CurrencyID")]
相关文章: