Example #1
0
        /// <summary>
        /// Gets the current <see cref="ISession"/> instance.
        /// </summary>
        /// <param name="context">The <see cref="NHibernateEntityContext"/>.</param>
        /// <returns>The current <see cref="ISession"/>.</returns>
        public static ISession GetCurrentSession(this IEntityContext context)
        {
            if (!(context is NHibernateEntityContext))
            {
                throw new ArgumentException(string.Format(NOT_OF_TYPE_NHIBERNATE_ENTITY_CONTEXT_EXCEPTION_MESSAGE_TEMPLATE, typeof(NHibernateEntityContext).Name), "context");
            }

            NHibernateEntityContext nhibernateEntityContext = (NHibernateEntityContext)context;

            return(nhibernateEntityContext.Session.Session);
        }
Example #2
0
        /// <summary>
        /// Creates a query with the given <paramref name="queryString"/>.
        /// </summary>
        /// <param name="context">The <see cref="NHibernateEntityContext"/>.</param>
        /// <param name="queryString">The query string.</param>
        /// <returns>The query.</returns>
        public static IQuery CreateSQLQuery(this IEntityContext context, string queryString)
        {
            if (!(context is NHibernateEntityContext))
            {
                throw new ArgumentException(string.Format(NOT_OF_TYPE_NHIBERNATE_ENTITY_CONTEXT_EXCEPTION_MESSAGE_TEMPLATE, typeof(NHibernateEntityContext).Name), "context");
            }

            NHibernateEntityContext nhibernateEntityContext = (NHibernateEntityContext)context;
            IQuery query = nhibernateEntityContext.Session.Session.CreateSQLQuery(queryString);

            return(query);
        }
Example #3
0
        /// <summary>
        /// Creates a base query object to execute custom queries.
        /// </summary>
        /// <typeparam name="TEntity">The entity type to query for.</typeparam>
        /// <param name="context">The <see cref="NHibernateEntityContext"/>.</param>
        /// <returns>The NHibernate base query of type QueryOver.</returns>
        public static IQueryOver <TEntity, TEntity> Query <TEntity>(this IEntityContext context)
            where TEntity : class
        {
            if (!(context is NHibernateEntityContext))
            {
                throw new ArgumentException(string.Format(NOT_OF_TYPE_NHIBERNATE_ENTITY_CONTEXT_EXCEPTION_MESSAGE_TEMPLATE, typeof(NHibernateEntityContext).Name), "context");
            }

            NHibernateEntityContext       nhibernateEntityContext = (NHibernateEntityContext)context;
            IQueryOver <TEntity, TEntity> query = nhibernateEntityContext.Session.Session.QueryOver <TEntity>();

            return(query);
        }