Bltoolkit: Попытка обновить сущность и получить «Не могу преобразовать в SQL -ошибку»
Вопрос
У меня есть метод обновления:
protected int ProcessUpdate(TUpdateDto updateDto, Func<IQueryable<TEntity>, IUpdateable<TEntity>> firstSetter, params Func<IUpdateable<TEntity>, IUpdateable<TEntity>>[] setters)
{
Checker.AssertNull(updateDto);
int id = updateDto.Id.FailIfNull();
IQueryable<TEntity> query = from item in new Table<TEntity>()
where item.Id == id
select item;
IUpdateable<TEntity> updateable = firstSetter(query);
foreach (var setter in setters)
{
setter(updateable);
}
Checker.AssertNull(updateable);
updateable.Update();
return id;
}
И сущность:
[TableName("Test")]
public class Test
{
[PrimaryKey, Identity]
public int Id { get; set; }
public string Field1 { get; set; }
}
А вот код обновления:
ProcessUpdate(updateDto, x => x.Set(e => e.Id, updateDto.Id),
x => x.Set(e => e.Field1, updateDto.Field1));
Когда я пытаюсь обновить запись в таблице, я получаю «преобразовать (item) .id» не может быть преобразован в SQL ». ошибка. Я старался не обновлять идентификатор, и результаты были такими же. Хотел бы я найти решение, но я не могу. Спасибо за ответы.
Решение
Решение было о модификации источников Bltoolkit.
Не связан с StackOverflow