2015-09-06 33 views
0

我首先使用實體​​框架代碼。我有兩個模型類,貨幣和發票:在實體框架中使用現有的外鍵值

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; } 
} 

我有一些貨幣值初始化我的數據庫。每當我添加新的發票時,我希望它使用貨幣表中現有的貨幣屬性值,但是每次創建新的發票值並將貨幣屬性與貨幣表中的現有值一起分配時,它會創建一個重複的值在貨幣表中。我怎麼解決這個問題。

+0

你設置'Currency'屬性或'CurrencyID'特性(它需要後者) –

回答

1

以上行:

public virtual Currency Currency { get; set;} 

添加以下屬性:

[ForeignKey("CurrencyID")]