Сначала я использую код EF 4.1 RC.У меня есть отношение многие ко многим, работающие с составным ПК в распределительной таблице Friends.Нам явно нужен отдельный класс Friends (не спрашивайте), который представляет нашу соединительную таблицу.Наша цель - иметь возможность контролировать процесс удаления из сущности User.Пожалуйста, прочитайте это, прежде чем читать остальные: http://mocella.blogspot.com/2010/01/entity-framework-v4-object-graph.html. Итак, нам удалось создать наш составной ПК, но это нарушило наше отображение для коллекции.Вопрос в том, как сопоставить FriendsCol?
public class User
{
public int UserId { get; set; }
public string Name { get; set; }
public virtual ICollecion<Friends> FriendsCol { get; set; }
}
public class Friends
{
public int User1Id { get; set; }
public int User2Id { get; set; }
public User User1 { get; set; }
public User User2 { get; set; }
}
Есть составное сопоставление клавиш
public class FriendsMap : EntityTypeConfiguration<Friends>
{
HasKey(m => new { m.userId1 , m.userId2 });
//this.HasRequired(x => x.User1)
//.WithMany()
//.HasForeignKey(x => x.User1Id)
//.WillCascadeOnDelete(false);
//this.HasRequired(x => x.User2)
// .WithMany()
// .HasForeignKey(x => x.User2Id)
// .WillCascadeOnDelete(false);
}
public class UserMap : EntityTypeConfiguration<UserNew>
{
public UserMap()
{
ToTable("users");
Property(user => user.Name).HasColumnName("name");
// HasMany<Friends>(user => user.FriendsCol).WithMany();
}
}