Я использую Entity FrameWork 4.1 с базой данных MySQL и коннектором MySQL 6.4.3 с первым подходом к коду.
В настоящее время я пытаюсь настроить параллелизм с полем метки времени.Ниже приведен код в моем объекте модели:
[Timestamp]
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
[Column(TypeName = "timestamp")]
public DateTime RowVersion { get; set; }
Когда я генерирую базу данных, создается поле RowVersion с соответствующим триггером, который обновляется при изменении строки.
Всякий раз, когда яПри попытке обновить эту строку я получаю следующее исключение:
{"Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries."}
Вот генерируемый sql:
BEGIN
UPDATE `mytable` SET `StartDt`='2011-07-27 11:37:01' WHERE `ID` = 1;
SELECT `RowVersion` FROM `mytable` WHERE row_count() > 0 AND `ID`=last_insert_id()
ROLLBACK
Я думаю, что проблема в вызове "last_insert_id ()".Этот вызов не вернет никаких результатов, вызывающих исключение.Почему инфраструктура сущностей делает такой вызов для обновления и что мне нужно сделать, чтобы это исправить?
Спасибо!AFrieze