I need to convert Expression<Func<T, bool>> to string. How can I do it? This is the predicate I'm trying to convert:
var prezziList = ExecQuery<Listino>(i => i.CodArt == articolo.CodArt);
I'm using the method suggested here: Converting Expression<T, bool> to String, and this is my method:
public List<TEntity> ExecQuery<TEntity>(Expression<Func<T, bool>> predicate)
{
    string expBody = predicate.Body.ToString();
    var paramName = predicate.Parameters[0].Name;
    var paramTypeName = predicate.Parameters[0].Type.Name;
    expBody = expBody.Replace(paramName + ".", paramTypeName + ".")
                 .Replace("AndAlso", "&&")
                 .Replace("==", "=");
    SQLiteCommand sQLiteCommand = new(App.CNManager.Connection);
    sQLiteCommand.CommandText = $"SELECT * FROM myTable WHERE {expBody}";
    return sQLiteCommand.ExecuteQuery<TEntity>();
}
but it returns following string, which obviously is not in the correct format:
"Listino.CodArt = value(Vendo.ViewModels.DettaglioArticoliViewModel+<>c__DisplayClass184_0).articolo.CodArt"
Where am I doing wrong?
 
    