示例#1
0
        /// <summary>
        /// Uses marten.
        /// </summary>
        /// <param name="container">The container.</param>
        /// <returns>IConventionHostBuilder.</returns>
        public static IConventionHostBuilder UseMartenUnitOfWork(this IConventionHostBuilder container)
        {
            var options = container.GetOrAdd(() => new MartenOptions());

            options.AutomaticUnitOfWork = true;
            return(container);
        }
        /// <summary>
        /// Adds the marten functions unit of work.
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <returns>IConventionHostBuilder.</returns>
        public static IConventionHostBuilder AddMartenUnitOfWorkMiddleware(this IConventionHostBuilder builder)
        {
            var options = builder.GetOrAdd(() => new MartenOptions());

            options.AutomaticUnitOfWork = true;
            builder.Scanner.PrependConvention <MartenMiddlewareUnitOfWorkConvention>();
            return(builder);
        }
        /// <summary>
        /// Adds the marten functions unit of work.
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <returns>IConventionHostBuilder.</returns>
        public static IConventionHostBuilder AddMartenUnitOfWorkFunctionFilter(this IConventionHostBuilder builder)
        {
            var options = builder.GetOrAdd(() => new MartenOptions());

            options.AutomaticUnitOfWork = true;
            builder.Scanner.AppendConvention <MartenFunctionsUnitOfWorkConvention>();
            return(builder);
        }
示例#4
0
        /// <summary>
        /// Uses marten.
        /// </summary>
        /// <param name="container">The container.</param>
        /// <returns>IConventionHostBuilder.</returns>
        public static IConventionHostBuilder UseMartenWithDirtyTracking(this IConventionHostBuilder container)
        {
            var options = container.GetOrAdd(() => new MartenOptions());

            options.UseSession      = true;
            options.SessionTracking = DocumentTracking.DirtyTracking;
            return(container);
        }