Организовал связь один к одному между двумя таблицами базы данных, одна таблица 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();
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости