|
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
) |
App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add
key = "ConnectionString"
value = "Server=.;Database=BLToolkitData;Integrated Security=SSPI"/>
</appSettings>
</configuration> |
Create.sql script
| |