Skip to content

DataAccess.NonUpdatable

Igor Tkachev edited this page May 22, 2016 · 1 revision

Home / DataAccess

The NonUpdatable attribute indicates the field that should not be updated by UPDATE or INSERT SQL statements.

NonUpdatable.cs

using System;

using NUnit.Framework;

using BLToolkit.DataAccess;
using BLToolkit.Mapping;

namespace HowTo.DataAccess
{
    [TestFixture]
    public class NonUpdatable
    {
        public enum Gender
        {
            [MapValue("F")] Female,
            [MapValue("M")] Male,
            [MapValue("U")] Unknown,
            [MapValue("O")] Other
        }

        public class Person
        {
            [MapField("PersonID"), PrimaryKey, NonUpdatable]
            public int    ID;

            public string LastName;
            public string FirstName;
            public string MiddleName;
            public Gender Gender;
        }

        [Test]
        public void Test()
        {
            SqlQuery<Person> query = new SqlQuery<Person>();

            Person person = new Person();

            person.FirstName = "Crazy";
            person.LastName  = "Frog";
            person.Gender    = Gender.Other;

            query.Insert(person);
        }
    }
}

DataAccessor.Insert method generates and executes the following SQL statement:

INSERT INTO [Person] (
    [MiddleName],
    [Gender],
    [LastName],
    [FirstName]
) VALUES (
    @MiddleName,
    @Gender,
    @LastName,
    @FirstName
)

CreateSql

Clone this wiki locally