annotate HowTo/DataAccess/ExecuteScalar.cs @ 1:8f65451dc28f

Исправлена проблема с фабрикой и выборкой нескольких объектов в linq выражении
author cin
date Fri, 28 Mar 2014 01:04:56 +0400
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using BLToolkit.DataAccess;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 namespace HowTo.DataAccess
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 public class ExecuteScalar
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public abstract class /*[a]*/PersonAccessor/*[/a]*/ : /*[a]*/DataAccessor/*[/a]*/<Person>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 [SqlQuery("SELECT Count(*) FROM Person")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 public abstract int GetCount();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 // The Person_Insert sproc returns an id of the created record.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 [SprocName("Person_Insert")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 public abstract /*[a]*/int/*[/a]*/ Insert(Person person);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 public void Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 PersonAccessor pa = DataAccessor.CreateInstance<PersonAccessor>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 // ExecuteScalar.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 Assert.IsTrue(pa.GetCount() > 0);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 // Insert and get id.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 Person person = new Person();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 person.FirstName = "Crazy";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 person.LastName = "Frog";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 person.Gender = Gender.Unknown;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 int id = pa./*[a]*/Insert(person)/*[/a]*/;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 Assert.IsFalse(id == 0);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 new SprocQuery<Person>().DeleteByKey(id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 }