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;
            }
        }
예제 #2
0
 public override void Visit(SqlSearchedCaseExpression codeObject)
 {
 }
예제 #3
0
        private void AddFieldFromCaseExpression(SqlSearchedCaseExpression caseExpression, string name, MemoryDbDataReader.ResultBatch batch, RawData rawData)
        {
            var select = new SelectDataFromCaseExpression(caseExpression, rawData);

            AddFieldFromSelectData(name, batch, select);
        }