0

コードファーストのアプローチで最新の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のみを設定します。これがこの問題に関連しているかどうかわからない。

4

1 に答える 1

0

例外を深く調べなかったのはばかげた。テーブルの挿入トリガーでエラーが発生したことが判明しました。

于 2012-10-23T11:04:00.400 に答える