diff HowTo/Data/Prepare.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/Data/Prepare.cs	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+
+using NUnit.Framework;
+
+using BLToolkit.Data;
+
+namespace HowTo.Data
+{
+	using DataAccess;
+
+	[TestFixture]
+	public class Prepare
+	{
+		[Test]
+		public void Test()
+		{
+			List<Person> list = new List<Person>
+			{
+				new Person { FirstName = "John", LastName = "Smith", Gender = Gender.Male   },
+				new Person { FirstName = "Jane", LastName = "Smith", Gender = Gender.Female }
+			};
+
+			using (DbManager db = new DbManager())
+			{
+				db.BeginTransaction();
+
+				// Prepare command.
+				//
+				db
+					.SetSpCommand("Person_Insert",
+						db.CreateParameters(list[0]))
+					./*[a]*/Prepare/*[/a]*/();
+
+				// Insert.
+				//
+				foreach (Person person in list)
+				{
+					db./*[a]*/AssignParameterValues/*[/a]*/(person);
+					db.ExecuteNonQuery();
+				}
+
+				// Check the result.
+				//
+				list = db
+					.SetCommand(
+						"SELECT * FROM Person WHERE LastName = @lastName",
+						db.Parameter("@lastName", "Smith"))
+					.ExecuteList<Person>();
+
+				Assert.GreaterOrEqual(2, list.Count);
+
+				// Cleanup.
+				//
+				db
+					.SetCommand(
+						"DELETE FROM Person WHERE LastName = @lastName",
+						db.Parameter("@lastName", "Smith"))
+					.ExecuteNonQuery();
+
+				db.CommitTransaction();
+			}
+		}
+	}
+}