Не сохраняются изменения в базе данных

214
30 сентября 2017, 19:36

Организовал связь один к одному между двумя таблицами базы данных, одна таблица Users, вторая UserProfiles. Модели следущие:

public class User {
    public int Id {get;set;}
    public UserProfile UserProfile {get;set;}
}
public class UserProfile {
    [Key]
    [ForeignKey("Users")]
    public int Id {get;set;}
    public User User {get;set;}
}

В базе данных созданы две таблицы, Users, UserProfiles, в UserProfiles внешний ключ на Users

CONSTRAINT [FK_dbo.UserProfiles_dbo.Users_Id] FOREIGN KEY([Id])
REFERENCES [dbo].[Users] ([Id])

В DbSet, databaseContext'a добавлены обе сущности (DbSet<User>, DbSet<UserProfile>)

При работе с User, делаю так, получаю ее из репозитория, затем создаю UserProfile, пытаюсь выпонлить update для репозитория но запись для userProfile не создается. Подскажите пожалуйста куда копать, что бы разобратсья с проблемой.

Как работаю с репозиторием :

var user = usersRepository.get(p=> p.Id == Id);
user.UserProfile = new UserProfile{
     Id = user.Id,
     User = user
};
usersRepository.Update(user);

В репозитории сохранение выполняется следующим образом:

var properties = new EntityProperties<TEntity>(entity);
properties.Store();
context.Entry(entity).State = EntityState.Modified;
сontext.SaveChanges();
context.Entry(entity).State = EntityState.Detached;
properties.Restore();
READ ALSO
Переключение модели на другую базу

Переключение модели на другую базу

Использую DataBase FirstВ БД есть хранимые процедуры, которые мне необходимы

223
Generic классы в связи &ldquo;многие ко многим&rdquo;

Generic классы в связи “многие ко многим”

Есть 3 класса которые реализуют связь данных "многие ко многим":

228
Подключение к WCF-сервису, блок Security

Подключение к WCF-сервису, блок Security

Добрый день всемПытаюсь подключиться к WCF-сервису, используется стандарт WS-Security

278
C# - Одинаковые данные в массиве

C# - Одинаковые данные в массиве

Допустим есть массив: string[] names = new {"иван", "катя", "максим", "катя", "катя", "иван", "лёша"} Мне нужно получить имя, которое встречается большее кол-во...

253