: IdentityUser
{
public string? FirstName { get; set; }
public string? LastName { get; set; }
public int? CustomerId { get; set; }
public Customer? Customer { get; set; }
}
А також модель:
public class Customer
{
[Key]
public int CustomerId { get; set; }
public string ApplicationUserId { get; set; }
public ApplicationUser ApplicationUser { get; set; }
public int? AddressId { get; set; }
public Address? Address { get; set; }
}
Я при реєстрації додаю до applicationuser ід customer, і воно в мене завжди 0, а ід applicationuser в customer передається нормально, в чому може бути проблема?
var user = CreateUser();
await _userStore.SetUserNameAsync(user, Input.Email, CancellationToken.None);
await _emailStore.SetEmailAsync(user, Input.Email, CancellationToken.None);
var result = await _userManager.CreateAsync(user, Input.Password);
user.FirstName = Input.FirstName;
user.LastName = Input.LastName;
user.PhoneNumber = Input.PhoneNumber;
var customer = new Customer()
{
ApplicationUser = user
};
_context.Customers.Add(customer);
user.Customer = customer;
user.CustomerId = customer.CustomerId;
_context.SaveChanges();
var customer = new Customer { ApplicationUserId = user.Id };
Це передається правильно, проблема в user.Customer = customer; user.CustomerId = customer.CustomerId;
кодблоки для кого завезли в оновлені тг блін 🙄
Ну це не принципово важливо щоб зрозуміти код
Ти задаєш або одне, або інше. Не 2 одночасно. Задання об'єкта == створити новий запис в БД при виклику SaveChanges Задання айді == використання вже існуючого об'єкта
Ніхто просто не захоче дивитися твій код
ну тоді код текстом кидати теж не принципово, фотку на вебкамеру 1мп зробив і все, головне щоб зрозуміли
Зрозумів причину, не нульове id в customerid з'являється тільки після saveChange, а до того воно нуль... Буде нормально якщо я його буду присвоювати після зберігання і потім ще раз буду зберігати?
Так, ef сам прокине id після зберігання, нащо тобі щось вручну задавати?
Не закидає, в тому проблема
Обсуждают сегодня