Show / Hide Table of Contents

    ISqlExecutor.Select<TModel>(string sqlText, params object[] parameters) Method

    .NET Standard 2.x

    Executes the SQL SELECT statement and returns an IList<TModel> object which contains the result set.

    Namespace: SnapObjects.Data

    Assembly: SnapObjects.Data.dll

    Syntax

      public IList<TModel> Select<TModel>(string sqlText, params object[] parameters);
    

    Type Parameters

    TModel

    The datatype of the model object which represents the data row in the result set.

    You can also specify DynamicModel to TModel if you do not want to define a custom model class.

    Parameters

    sqlText System.String

    A raw SQL statement which contains the parameter placeholders.

    The proper syntax of a parameter placeholder is specific to the data source (e.g., @newFirstName for SQL Server). To make a parameterized SQL ( e.g., update Person set FirstName = @newFirstName where PersonId = 1), these placeholders are filled in with the actual parameter values when the SQL statement is executed.

    parameters System.Object[]

    (Optional) One or more ParamValue objects which contain the values corresponding to the SQL parameter identifier names.

    You can also pass the arguments directly in the order in which each parameter identifier name appears in sqlText for the first time, without using the ParamValue object.

    Returns

    System.Collections.Generic.IList<TModel>

    Returns an IList<TModel> object which contains the result set.

    Remarks

    You can use parameter placeholders in the raw SQL Statement. It is recommended to use the syntax for parameter placeholders that is specific to the data source. e.g., uses @parametername for SQL Server and uses :parametername for Oracle.

    Examples

    The following code example demonstrates how to use the Select<TModel>(String, params object[]) method to execute the SQL SELECT statement and put the query result to a list of models.

    using SnapObjects.Data;
    using System;
    using System.Linq;
    
    namespace Appeon.ApiDoc.ISqlExecutorExamples
    {
        public class SelectExample
        {
            private readonly SchoolContext _context;
    
            public SelectExample(SchoolContext dataContext)
            {
                // Sets the data context
                _context = dataContext;
            }
    
            public void Example1()
            {
                // Defines the SQL statement.
                var sql = @"SELECT CourseID, Title 
                            FROM Course
                            WHERE CourseID = @id";
    
                // Queries data and puts the query result to a list of 
                // models.
                var list = _context.SqlExecutor.Select<DynamicModel>(sql, 1061);
    
                Console.WriteLine("Count: {0}.", list.Count);
    
                Console.WriteLine("CourseID: {0}",
                    list.FirstOrDefault().GetValue<int>("CourseID"));
    
                Console.WriteLine("Title: {0}",
                    list.FirstOrDefault().GetValue<string>("Title"));
    
                /*This code produces the following output:
    
                Count: 1.
                CourseID: 1061
                Title: Physics
               */
            }
        }
    }
    

    Applies to

    .NET Standard

    2.x

    Back to top Generated by Appeon