using System;
using NUnit.Framework;
using BLToolkit.DataAccess;
namespace HowTo.DataAccess
{
[TestFixture]
public class ExecuteScalar
{
public abstract classPersonAccessor : DataAccessor<Person>
{
[SqlQuery("SELECT Count(*) FROM Person")]
public abstract int GetCount();
// The Person_Insert sproc returns an id of the created record.
//
[SprocName("Person_Insert")]
public abstractint Insert(Person person);
}
[Test]
public void Test()
{
PersonAccessor pa = DataAccessor.CreateInstance<PersonAccessor>();
// ExecuteScalar.
//
Assert.IsTrue(pa.GetCount() > 0);
// Insert and get id.
//Person person = newPerson();
person.FirstName = "Crazy";
person.LastName = "Frog";
person.Gender = Gender.Unknown;
int id = pa.Insert(person);
Assert.IsFalse(id == 0);
new SprocQuery<Person>().DeleteByKey(id);
}
}
}
Person.cs
using System;
using BLToolkit.DataAccess;
using BLToolkit.Mapping;
namespace HowTo.DataAccess
{
public class Person
{
[MapField("PersonID"), PrimaryKey, NonUpdatable]
public int ID;
public string LastName;
public string FirstName;
public string MiddleName;
public Gender Gender;
}
}
Gender.cs
using System;
using BLToolkit.Mapping;
namespace HowTo.DataAccess
{
public enum Gender
{
[MapValue("F")] Female,
[MapValue("M")] Male,
[MapValue("U")] Unknown,
[MapValue("O")] Other
}
}