Show / Hide Table of Contents

    ISqlBuilderCache.Set(string sqlBuilderName, ISqlBuilder sqlBuilder, bool readOnly = true) Method

    .NET Standard 2.x

    Caches an ISqlBuilder object in the ISqlBuilderCache object and specifies a cache name for the ISqlBuilder object. You can also specify whether the ISqlBuilder object is read-only when it is obtained from the cache; by default it is read-only.

    Namespace: SnapObjects.Data

    Assembly: SnapObjects.Data.dll

    Syntax

    void Set(string sqlBuilderName, ISqlBuilder sqlBuilder, bool readOnly = true);
    

    Parameters

    sqlBuilderName System.String

    The name for the ISqlBuilder when it is cached.

    sqlBuilder SnapObjects.Data.ISqlBuilder

    The ISqlBuilder object to be cached in the ISqlBuilderCache object.

    readOnly System.Boolean

    Specifies whether the ISqlBuilder object is read-only when it is obtained from the cache.

    True (default): you can only use the Get method to get an ISqlReadOnlyBuilder object from the cache.

    False: you can use the Get method to get an ISqlReadOnlyBuilder object from the cache or use the GetModifiable method to get a TSqlBuilder object.

    Examples

    The following code example saves the ISqlBuilder object to ISqlBuilderCache, and specifies a cache name for it.

    using SnapObjects.Data;
    using System;
    
    namespace Appeon.ApiDoc.ISqlBuilderCacheExamples
    {
        public class SetExample
        {
            private readonly SchoolContext _context;
    
            public SetExample(SchoolContext context)
            {
                _context = context;
            }
    
            public void Example()
            {
                // Creates a SqlQueryBuilder object.
                var build = SqlBuilderFactory.Create<ISqlQueryBuilder>("original sql");
                build.Select("select Title from Course where CourseID = 1050");
    
                // Generates a SqlBuilderCache object via SqlBuilderFactory.Cache.
                var cache = SqlBuilderFactory.Cache;
    
                // Injects SqlQueryBuilder to the SqlBuilderCache object.
                cache.Set("querySql", build, true);
    
                // Gets the ISqlReadOnlyBuilder object whose name is "querySql".
                var get = cache.Get("querySql");
    
                Console.WriteLine("SqlBuilder Name = {0}", get.Name);
    
                /*This code produces the following output:
                
                SqlBuilder Name = original sql
                */
            }
        }
    }
    

    Applies to

    .NET Standard

    2.x

    See Also

    Get(String)

    GetModifiable<TSqlBuilder>(String)

    Back to top Generated by Appeon