Код: Выделить всё
public class User
{
public int Uid { get; set; }
public string? Name { get; set; }
public virtual ICollection Details { get; set; } = new List();
}
Код: Выделить всё
public class UserDetails
{
public int Did { get; set; }
public virtual User? User { get; set; }
public string? ShipToAddress { get; set; }
}
Мне нужно опубликовать данные пользователя и пользователя, но если Uid уже присутствует в базе данных, тогда публикуйте только данные UserDetails. .
Код: Выделить всё
[HttpPost]
public async Task AddUser(User ud)
{
await _context.User.AddAsync(ud);
await _context.SaveChangesAsync();
return Ok(ud);
}
Код: Выделить всё
[HttpPost]
public async Task AddUserDetails(UserDetails ud)
{
await _context.UserDetails.AddAsync(ud);
await _context.SaveChangesAsync();
return Ok(ud);
}
Код: Выделить всё
var x = _context.User.FirstOrDefault(x => x.Did == ud.Did);
if (x.Value == null)
{
AddUser();
}
else
{
AddUserDetails();
}
"Экземпляр объекта тип «Пользователь» не может быть отслежен, поскольку уже отслеживается другой экземпляр с тем же значением ключа для {'Uid'}. При присоединении существующих сущностей убедитесь, что присоединен только один экземпляр сущности с заданным значением ключа. Рассмотрите возможность использования «DbContextOptionsBuilder». EnableSensitiveDataLogging», чтобы увидеть конфликтующие значения ключей."
Подробнее здесь: https://stackoverflow.com/questions/791 ... -condition
Мобильная версия