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',这是表中的普通 varchar 列Customers。加载所有数据工作得很好,只是保存有问题。

一些额外的细节:创建新事务时,我没有设置 Customer 属性,只设置了 CustomerId。不确定这是否与此问题有关。

4

1 回答 1

0

哦,愚蠢的我没有深入研究异常。结果发现表的插入触发器出现错误。

于 2012-10-23T11:04:00.400 回答