diff HowTo/DataAccess/ExecuteScalar.cs @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HowTo/DataAccess/ExecuteScalar.cs	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,47 @@
+using System;
+
+using NUnit.Framework;
+
+using BLToolkit.DataAccess;
+
+namespace HowTo.DataAccess
+{
+	[TestFixture]
+	public class ExecuteScalar
+	{
+		public abstract class /*[a]*/PersonAccessor/*[/a]*/ : /*[a]*/DataAccessor/*[/a]*/<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 abstract /*[a]*/int/*[/a]*/ Insert(Person person);
+		}
+
+		[Test]
+		public void Test()
+		{
+			PersonAccessor pa = DataAccessor.CreateInstance<PersonAccessor>();
+
+			// ExecuteScalar.
+			//
+			Assert.IsTrue(pa.GetCount() > 0);
+
+			// Insert and get id.
+			//
+			Person person = new Person();
+
+			person.FirstName = "Crazy";
+			person.LastName  = "Frog";
+			person.Gender    = Gender.Unknown;
+
+			int id = pa./*[a]*/Insert(person)/*[/a]*/;
+
+			Assert.IsFalse(id == 0);
+
+			new SprocQuery<Person>().DeleteByKey(id);
+		}
+	}
+}