Esempio n. 1
0
        public Task <int> ExecuteDmlAsync <T>(QueryMode queryMode, Expression expression, CancellationToken cancellationToken)
        {
            if (Collection != null)
            {
                throw new NotSupportedException("DML operations are not supported for filters.");
            }
            if (cancellationToken.IsCancellationRequested)
            {
                return(Task.FromCanceled <int>(cancellationToken));
            }
            try
            {
                var nhLinqExpression = new NhLinqDmlExpression <T>(queryMode, expression, Session.Factory);

                var query = Session.CreateQuery(nhLinqExpression);

                SetParameters(query, nhLinqExpression.NamedParameters);
                _options?.Apply(query);
                return(query.ExecuteUpdateAsync(cancellationToken));
            }
            catch (Exception ex)
            {
                return(Task.FromException <int>(ex));
            }
        }
        public int ExecuteDml <T>(QueryMode queryMode, Expression expression)
        {
            var nhLinqExpression = new NhLinqDmlExpression <T>(queryMode, expression, Session.Factory);

            var query = Session.CreateQuery(nhLinqExpression);

            SetParameters(query, nhLinqExpression.ParameterValuesByName);

            return(query.ExecuteUpdate());
        }
        public int ExecuteDml <T>(QueryMode queryMode, Expression expression)
        {
            if (Collection != null)
            {
                throw new NotSupportedException("DML operations are not supported for filters.");
            }

            var nhLinqExpression = new NhLinqDmlExpression <T>(queryMode, expression, Session.Factory);

            var query = Session.CreateQuery(nhLinqExpression);

            SetParameters(query, nhLinqExpression.ParameterValuesByName);
            _options?.Apply(query);
            return(query.ExecuteUpdate());
        }
Esempio n. 4
0
        public Task <int> ExecuteDmlAsync <T>(QueryMode queryMode, Expression expression, CancellationToken cancellationToken)
        {
            if (cancellationToken.IsCancellationRequested)
            {
                return(Task.FromCanceled <int>(cancellationToken));
            }
            try
            {
                var nhLinqExpression = new NhLinqDmlExpression <T>(queryMode, expression, Session.Factory);

                var query = Session.CreateQuery(nhLinqExpression);

                SetParameters(query, nhLinqExpression.ParameterValuesByName);
                _options?.Apply(query);
                return(query.ExecuteUpdateAsync(cancellationToken));
            }
            catch (Exception ex)
            {
                return(Task.FromException <int>(ex));
            }
        }