У меня небольшая проблема. Когда я добавлю новый элемент в свою базу данных (EF), у меня возникнет сообщение UpdateEception: Невозможно обновить EntitySet 'UserRoles', потому что у него есть DefiningQuery, и в элементе не существует элемента для поддержки текущей операции. эм>
У меня очень маленький стол.
Users :
- [PK] UserID
- Login
- Password
- Email
- IsActive
Roles :
- [PK] RoleID
- Name
UserRoles :
- [FK] UserID
- [FK] RoleID
Получить метод
User u = db.Users.Single(x => x.Login == "scott");
работает нормально, но не вставляет :/ Я пробовал много способов. Пробую добавить PK в UserRoles, работает, но не то, что будет. Отношения будут многие -> один -> многие, не многие ко многим, и у меня должен быть один дополнительный класс. Я не знаю, как это исправить.
Мой Entity Class слишком прост. Список в классе ролей и Список в классе пользователей являются виртуальными.
public class TestDBEntity : ObjectContext
{
public ObjectSet<Role> Roles { get; set; }
public ObjectSet<User> Users { get; set; }
public TestDBEntity()
: base("name=TestDBEntities", "TestDBEntities")
{
ContextOptions.LazyLoadingEnabled = true;
this.Roles = CreateObjectSet<Role>();
this.Users = CreateObjectSet<User>();
}
}