Проблема параллелизма с Entity Framework 4.1 Mysql Code First - PullRequest
1 голос
/ 27 июля 2011

Я использую 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

...