Bltoolkit: Versuchen Sie, eine Entität zu aktualisieren und "nicht in SQL -Fehler konvertieren" zu erhalten.
Frage
Ich habe eine Update -Methode:
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;
}
Und Entität:
[TableName("Test")]
public class Test
{
[PrimaryKey, Identity]
public int Id { get; set; }
public string Field1 { get; set; }
}
Und hier ist der Update -Code:
ProcessUpdate(updateDto, x => x.Set(e => e.Id, updateDto.Id),
x => x.Set(e => e.Field1, updateDto.Field1));
Wenn ich versuche, einen Eintrag in einer Tabelle zu aktualisieren, erhalte ich "" konvertieren (Element) .Id "kann nicht in SQL konvertiert werden." Error. Ich habe versucht, die ID nicht zu aktualisieren, und die Ergebnisse waren gleich. Ich wünschte, ich könnte die Lösung finden, aber ich kann nicht. Danke für deine Antworten.
Lösung
Die Lösung bestand darin, Bltoolkit -Quellen zu ändern.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow