2012-10-23 215 views
0

我正在使用最新的實體框架與代碼優先的方法。 我有這樣的類:實體框架插入新實體

[Serializable] 
public class Customer 
{ 
     [Key] 
     public int Id { get; set; } 
     public string CustomerInitials { get; set; } 
     [InverseProperty("Customer")] 
     public virtual List<Transaction> Transactions { get; set; } 
} 

[Serializable] 
public class Transaction 
{ 
     [Key] 
     public int Id { get; set; } 
     public int CustomerId { get; set; } 
     [InverseProperty("Transactions")] 
     public virtual Customer Customer { get; set; } 
} 

當我想要進入一個新的項目,我覺得從我的背景下IDbSet<Customer> 各自的客戶和呼叫

customer.Transactions.Add(newTrasnaction) 
context.SaveChanges(); 

這給了我Invalid column name 'CustomerInitials',這是Customers表中的正常varchar列。加載所有數據工作得很好,只是保存有問題。

一些額外的細節:當創建新的事務時,我不設置Customer屬性,只是CustomerId。不確定這是否與這個問題有關。

+0

這一切對我來說都很好,你是否100%確定客戶在數據庫中有'CustomerInitials'列? –

回答

0

哦,我沒有深入瞭解這個例外。它出現了表的插入觸發器錯誤。