diff HowTo/DataAccess/ActionSprocName.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/ActionSprocName.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 ActionSprocName
+	{
+		[/*[a]*/ActionSprocName/*[/a]*/("GetByName", "Person_SelectByName")]
+		public class Person
+		{
+			public int    PersonID;
+			public string LastName;
+			public string FirstName;
+			public string MiddleName;
+		}
+
+		public abstract class PersonAccessor : DataAccessor
+		{
+			// Default action name is 'SelectByKey'.
+			// Stored procedure name is 'Person_SelectByKey'.
+			//
+			public abstract Person SelectByKey(int @id);
+
+			// Default action name is 'GetByName'.
+			// Stored procedure name is 'Person_SelectByName'
+			// defined by the ActionSprocName attribute of the Person class.
+			//
+			public abstract Person GetByName(string @firstName, string @lastName);
+		}
+
+		[Test]
+		public void Test()
+		{
+			PersonAccessor pa = /*[a]*/DataAccessor/*[/a]*/./*[a]*/CreateInstance/*[/a]*/<PersonAccessor>();
+
+			Person person1 = pa.SelectByKey(1);
+
+			Assert.IsNotNull(person1);
+
+			Person person2 = pa.GetByName(person1.FirstName, person1.LastName);
+
+			Assert.AreEqual(person1.PersonID, person2.PersonID);
+		}
+	}
+}