Я использую EF4 CTP5, чтобы попытаться сохранить объект POCO, который разделен между двумя таблицами, ссылка на которые является ContactID. Когда я сохраняю контакт, я хочу, чтобы основная контактная информация была сохранена в одной таблице (Контакты), а ссылка на пользователя, которому принадлежит контакт, сохранена в другой (UserToContacts). У меня есть настраиваемое сопоставление, определенное ниже, но когда я SaveChanges, я получаю следующую ошибку:
Значение, используемое для всех сущностей или ассоциаций, создается более чем в одном месте. Убедитесь, что отображение не разделяет EntityKey на несколько столбцов, генерируемых хранилищем.
Мы будем очень благодарны за любые идеи!
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
/// Perform Custom Mapping
modelBuilder.Entity<Contact>()
.Map(mc =>
{
mc.Properties(p => new
{
p.ContactID,
p.FirstName,
p.MiddleName,
p.LastName
});
mc.ToTable("Contacts");
})
.Map(mc =>
{
mc.Properties(p => new
{
p.ContactID,
p.UserID
});
mc.ToTable("UserToContacts");
});
}