Обновление идентификатора внешнего ключа не обновляет свойство навигацииC#

Место общения программистов C#
Ответить
Anonymous
 Обновление идентификатора внешнего ключа не обновляет свойство навигации

Сообщение Anonymous »

Это мой класс:
public class tblProdLine : DBModel
{

[MaxLength(50)]
public string? Name { get; set; }

[ForeignKey("Supervisor")]
public int? SupervisorID { get; set; }

public virtual tblUser? Supervisor { get; set; }
}

В моем окне Prodline.SupervisorID привязан к полю со списком, поэтому, когда пользователь выбирает нового супервизора, его идентификатор будет сохранен в SupervisorID
код>:

Choose a user...
@foreach (var user in UserViewModel.Items)
{
@user.Name
}


Но поскольку сам супервизор не обновляется, Entity Framework сохраняет исходный супервизор при «Обновлении».
Я подумал об этом изменение установщика SupervisorID в классе Prodline для обновления Supervisor, но действительно ли это единственный способ?
Изменить:
мой код «Put»:
private readonly HttpClient _httpClient;

public DbApiClientService(ApiClientOptions apiClientOptions)
{
_httpClient = new HttpClient();
_httpClient.BaseAddress = new Uri(apiClientOptions.ApiBaseAddress);
}

public async Task UpdateItem(T item, int Id)
{
string endpoint = GetEndpointName();
var response = await _httpClient.PutAsJsonAsync($"/api/{endpoint}/{Id}", item);

var responseContent = await response.Content.ReadAsStringAsync();

private string GetEndpointName()
{
return typeof(T).Name;
}


Подробнее здесь: https://stackoverflow.com/questions/788 ... n-property
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»