Я использую EF4 CTP5, чтобы попытаться сохранить объект POCO, разделенный между двумя таблицами, ссылка на который является ContactID. Когда я сохраняю контакт, я хочу, чтобы основная контактная информация сохранялась в одной таблице (Контакты), а ссылка на пользователя, которому принадлежит контакт, сохраняется в другой (UserToContacts). У меня есть пользовательское сопоставление, определенное ниже, но когда я сохраняю изменения, я получаю следующую ошибку:
Значение, совместно используемое объектами или ассоциациями, создается более чем в одном месте. Убедитесь, что сопоставление не разделяет 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");
});
}