private void ParseSelectPhrase(SelectPhrase pharse) { if (pharse is AggregatePhrase) { _sb.Append((pharse as AggregatePhrase).AggregateType); } _sb.Append(SQL_SERVER_KEYWORD.LP); _sb.Append(SQL_SERVER_KEYWORD.LPS); _sb.Append(pharse.TableName); _sb.Append(SQL_SERVER_KEYWORD.Dot); _sb.Append(pharse.Name); _sb.Append(SQL_SERVER_KEYWORD.RPS); _sb.Append(SQL_SERVER_KEYWORD.RP); if (!string.IsNullOrEmpty(pharse.Alias)) { _sb.Append(SQL_SERVER_KEYWORD.WhiteSpace); _sb.Append(SQL_SERVER_KEYWORD.Alias); } _sb.Append(SQL_SERVER_KEYWORD.WhiteSpace); var splitChar = (pharse.Next is FromPhrase) ? SQL_SERVER_KEYWORD.WhiteSpace : SQL_SERVER_KEYWORD.Comma; _sb.Append(splitChar); }
public async Task <T> GetResult <T>() { var list = await GetRawResult(); if (!string.IsNullOrEmpty(WherePhrase)) { list = list.AsQueryable().Where(WherePhrase).ToList(); } if (!string.IsNullOrEmpty(OrderByPhrase)) { list = list.AsQueryable().OrderBy(OrderByPhrase).ToList(); } if (!string.IsNullOrEmpty(SelectPhrase) && !SelectPhrase.Equals("User")) { return((T)list.AsQueryable().Select($"new({SelectPhrase})")); } else { return((T)list); } }