Эта ошибка сгенерирована, когда я пытаюсь изменить внешний ключ. Я знаю, что это - очень распространенная ошибка, я нашел тонны информации об этом и попытался реализовать меры, которые я нашел, но я все еще получаю эту ошибку при попытке обновить Ключи. Ссылочный Поток
Первоначально я просто непосредственно присваивал значение и пытался отобразить объекты.
ticket.assigned_to_group = assigned_to
Я с тех пор изменился, чтобы попытаться отобразить объекты, которые я верю корректному ответу; однако я все еще получаю ошибку.
ticket.assigned_to_group = db.sub_units.Single(f => f.id == assigned_to).id;
Любая идея, почему это не работало бы. Также, если у меня есть таблица с несколькими внешними ключами, я должен действительно сделать новый запрос для каждого ключа или есть ли лучший путь?
Я думаю, вы пытаетесь назначить идентификатор, когда вам нужно назначить объект. (Я не на 100% уверен, что это то, что вы делаете)
// Don't assign just the id
Person.ParentId = parentId;
// Assign the entity
Person.Parent = db.Parents.Single(x.Id == parentId);
Что касается вашего второго вопроса, вы можете загрузить все sub_units с помощью
var groups = db.sub_units. ToArray ()
и, попав в память, сделайте что-то вроде этого:
foreach(var ticket in tickets)
{
ticket.assigned_to_group = groups.Single(f => f.id == assigned_to);
}