Я использую кодовый подход Entity Framework 4 для проектирования своей базы данных в ASP MVC 3, и я столкнулся с небольшим затруднением.У меня есть класс POCO, как показано ниже:
public class User
{
[Key]
public Guid UserID { get; set; }
public string UserName { get; set; }
public DateTime CreationDate { get; set; }
public string Email { get; set; }
public int Points { get; set; }
public Session ActiveSession { get; set; }
public ICollection<Session> InSessions { get; set; }
}
с Session
как другим из моих классов моделей, определенных в другом месте, с ICollection<User>
как одним из его свойств.Если я удаляю свойство public Session ActiveSession { get; set; }
из класса User
, то сопоставление «многие ко многим» и промежуточная таблица UserSessions
создаются правильно, но когда я снова добавляю сопоставление «один к одному» ActiveSession
,он нарушает отображение «многие ко многим», и промежуточная таблица не создается.Вместо этого таблица Users
имеет один внешний ключ к таблице Sessions
, каждый для свойств ActiveSession
и InSessions
.Есть идеи, почему это происходит?