Bltoolkit: Versuchen Sie, eine Entität zu aktualisieren und "nicht in SQL -Fehler konvertieren" zu erhalten.

StackOverflow https://stackoverflow.com/questions/5811915

  •  25-10-2019
  •  | 
  •  

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.

War es hilfreich?

Lösung

Die Lösung bestand darin, Bltoolkit -Quellen zu ändern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top