EF4 Code First - Как правильно сопоставить разделение объекта на несколько таблиц

Я использую 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");
        });
    }
5
задан nerdn 16 February 2011 в 20:28
поделиться