Я пытаюсь изменить поле в моей строке с использованием EF 6.1 и я получаю следующее сообщение об ошибке:«Свойство„Modified“является частью ключевой информации объекта и не может быть изменено
The property 'Modified' is part of the object's key information and cannot be modified.
Однако модифицированные не первичный ключ, ни часть любого соединения ПК.
однако это часть моих условий поиска.
var item = _src.Items.Where(x => x.Modified).OrderBy(x => x.DateModified).FirstOrDefault();
...
MarkItemAsSynced(item)
private void MarkItemAsSynced(Item item)
{
item.Modified = false;
_src.SaveChanges(); <<<< ERROR THORWN
}
Что может быть причиной этой проблемы?
Чтобы снова подтвердить, элемент «Модифицированный» НЕ является ПК.
Таблица имеет определенный PK.
Модель Класс:
public partial class Item
{
public int Id { get; set; }
...
public bool Modified { get; set; }
}
}
Можете ли вы показать класс «Предмет»? Или, может быть, вы настраиваете что-нибудь лишнее в бегстве? – DavidG
Он может отображаться как ключ, если модель была создана из базы данных. Если в таблице нет первичного ключа, генератор попытается выбрать поля, которые должны использоваться в качестве ключа. –
Может быть, это помогает? http://stackoverflow.com/questions/3187963/the-property-id-is-part-of-the-objects-key-information-and-cannot-be-modified – Dom84