public SelectDataFromCaseExpression(SqlSearchedCaseExpression caseExpression, RawData rawData) { _Expression = caseExpression; _RawData = rawData; if (_Expression.ElseExpression != null) { _FullTypeInfo = Helper.DetermineFullTypeInfo(_Expression.ElseExpression, rawData); _ScalarExpression = _Expression.ElseExpression; } if (_Expression.ElseExpression == null || _FullTypeInfo.DbDataType == null) { var whenExpression = _Expression.WhenClauses.First( ); _FullTypeInfo = Helper.DetermineFullTypeInfo(whenExpression.ThenExpression, rawData); _ScalarExpression = whenExpression.ThenExpression; } }
public override void Visit(SqlSearchedCaseExpression codeObject) { }
private void AddFieldFromCaseExpression(SqlSearchedCaseExpression caseExpression, string name, MemoryDbDataReader.ResultBatch batch, RawData rawData) { var select = new SelectDataFromCaseExpression(caseExpression, rawData); AddFieldFromSelectData(name, batch, select); }