コードファーストのアプローチで最新のEntityFrameworkを使用しています。私はそのようなクラスを持っています:
[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'
、テーブルの通常のvarchar列であるが得られCustomers
ます。すべてのデータのロードは問題なく機能しますが、保存するだけで問題が発生します。
追加の詳細:新しいトランザクションを作成するときに、Customerプロパティを設定せず、CustomerIdのみを設定します。これがこの問題に関連しているかどうかわからない。