예제 #1
0
        public T FirstOrDefault <T>()
        {
            T callback = default;

            using (SqlCommand command = connection.GetCommand(commandText))
            {
                DatabaseTrace.Append(command.CommandText, Constant.Query);

                if (connection.HasTransaction)
                {
                    command.Transaction = connection.Transaction;
                }

                using (SqlDataReader reader = command.ExecuteReader(CommandBehavior.SingleRow))
                {
                    if (reader.HasRows)
                    {
                        callback = DatabaseReaderSelect <T> .First(reader);
                    }

                    reader.Close();
                }
            }

            return(callback);
        }
예제 #2
0
        public T First <T>()
        {
            bool read     = false;
            T    callback = default;

            using (SqlCommand command = connection.GetCommand(commandText))
            {
                DatabaseTrace.Append(command.CommandText, Constant.Query);

                if (connection.HasTransaction)
                {
                    command.Transaction = connection.Transaction;
                }

                using (SqlDataReader reader = command.ExecuteReader(CommandBehavior.SingleRow))
                {
                    if (reader.HasRows)
                    {
                        read = true;
                    }

                    if (read)
                    {
                        callback = DatabaseReaderSelect <T> .First(reader);
                    }

                    reader.Close();
                }
            }

            if (!read)
            {
                throw new EntityDatabaseException($"Database Select First {typeof(T).Name} Failed, Nothing Returned With Query : \n\n {commandText}");
            }

            return(callback);
        }