diff --git a/Examples/base_entity/Program.cs b/Examples/base_entity/Program.cs index 422601a8..63b9daa1 100644 --- a/Examples/base_entity/Program.cs +++ b/Examples/base_entity/Program.cs @@ -577,6 +577,7 @@ namespace base_entity #endregion var objtsql1 = fsql.Select().WithSql("select * from user1").ToList(); + var objtsql2 = fsql.Select().WithSql("select * from user1").ToList(); var astsql = fsql.Select() .InnerJoin((a, b) => a.id == b.Id) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs index bd5ae278..592546d1 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs @@ -371,7 +371,12 @@ namespace FreeSql.Internal.CommonProvider } return ret; } - public List ToList() => typeof(T1) == typeof(TDto) ? ToList() as List : ToList(GetToListDtoSelector()); + public List ToList() + { + if (typeof(T1) == typeof(TDto)) return ToList() as List; + if (_tables.FirstOrDefault()?.Table.Type == typeof(object)) return ToList("*"); + return ToList(GetToListDtoSelector()); + } Expression> GetToListDtoSelector() { var expParam = _tables[0].Parameter ?? Expression.Parameter(typeof(T1), "a");