2012-10-23 2 views
0

Я использую новейшую платформу Entity Framework с кодовым подходом. у меня есть такие классы:структура сущности, вставляющая новый объект

[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. Не уверен, связано ли это с этой проблемой или нет.

+0

Все это выглядит хорошо, вы на 100% уверены, что у Клиента есть столбец «CustomerInitials» в БД? –

ответ

0

О, глупо мне, чтобы не смотреть глубже в исключение. Выяснилось, что в таблице была ошибка триггера вставки.