У меня есть отношение один-ко-многим / многие-ко-многим ч / б UserProfile
& AddressMaster
через промежуточную таблицу UserAddress
.
public class UserProfile
{
public string UserID { get; set; }
public string Name{ get; set; }
public ICollection<UserAddress> UserAddress{ get; set; }
}
public class AddressMaster
{
public string AddrID{ get; set; }
public string AddressLine1{ get; set; }
public ICollection<UserAddress> UserAddress{ get; set; }
public TheatreLocation TheatreLocation { get; set; }
}
public class UserAddress
{
public Guid UserID { get; set; }
public Guid AddressID { get; set; }
public UserProfile UserProfile{ get; set; }
public AddressMaster AddressMaster { get; set; }
}
Теперь я пытаюсь ввести данные из API через JSON:
{
"Name": "Neo",
"address":
{
"addressLine1": "House not"
}
}
Для этого у меня есть DTO, который принимает эти параметры. Ниже приведен код моего контроллера.
public async Task<Guid> Handle(CreateUserCommand request, CancellationToken cancellationToken)
{
var userEntity = new UserProfile
{
Name = request.Name,
};
_context.UserProfile.Add(userEntity);
AddressMaster addressMaster = request.Address;
_context.AddressMaster.Add(addressMaster);
UserAddresses userAddresses = new UserAddresses
{
AddressID = addressMaster.AddressID,
UserID = userEntity.UserID
};
_context.UserAddresses.Add(userAddresses);
await _context.SaveChangesAsync(cancellationToken);
return userEntity.UserID;
}
Я пытаюсь сохранить данные индивидуально в соответствующих таблицах, а затем попытался сопоставить их с промежуточной таблицей. Я не уверен, что это правильный путь, но данные сохраняются в базе данных.
Спасибо :)