BLTOOLKIT: tratando de actualizar una entidad y obtener "no se puede convertir a un error SQL"

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

  •  25-10-2019
  •  | 
  •  

Pregunta

Tengo un método de actualización:

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;
    }

Y entidad:

[TableName("Test")]
public class Test
{
    [PrimaryKey, Identity]
    public int Id { get; set; }

    public string Field1 { get; set; }
}

Y aquí está el código de actualización:

 ProcessUpdate(updateDto, x => x.Set(e => e.Id, updateDto.Id), 
                          x => x.Set(e => e.Field1, updateDto.Field1));

Cuando intento actualizar una entrada en una tabla, obtengo "'Convertir (elemento) .ID' no se puede convertir a SQL". error. He intentado no actualizar la identificación y los resultados fueron los mismos. Ojalá pudiera encontrar la solución, pero no puedo. Gracias por tus respuestas.

¿Fue útil?

Solución

La solución se trataba de modificar las fuentes de BLToolkit.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top