在实体框架中使用现有的外键值
本文关键字:键值 实体 框架 | 更新日期: 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")]