annotate HowTo/DataAccess/ExecuteList.cs @ 4:f757da6161a1

!bug 100 + 2h fixed gregression
author cin
date Sun, 24 Aug 2014 17:57:42 +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 using System.Collections;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Collections.Generic;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 using BLToolkit.DataAccess;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 namespace HowTo.DataAccess
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public class ExecuteList
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 public abstract class /*[a]*/PersonAccessor/*[/a]*/ : /*[a]*/DataAccessor/*[/a]*/
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 // This method reads a list of Person objects.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 [ActionName("SelectAll")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 public abstract /*[a]*/List<Person>/*[/a]*/ GetPersonList1();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 // Here we help the method to get object type information.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 // /*[a]*/ObjectTypeAttribute/*[/a]*/ can be applied to the class itself.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 // In this case there is no need to specify object type for each method.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 // Another way to specify object type is a generic parameter
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 // of the DataAccessor<T> class.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 [SqlQuery("SELECT * FROM Person")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 [/*[a]*/ObjectType(typeof(Person))/*[/a]*/]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 public abstract /*[a]*/ArrayList/*[/a]*/ GetPersonList2();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 // This method reads a list of scalar values.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 [SqlQuery("SELECT PersonID FROM Person")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 public abstract /*[a]*/List<int>/*[/a]*/ GetPersonIDList();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 public void Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 PersonAccessor pa = DataAccessor.CreateInstance<PersonAccessor>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 // ExecuteList.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 IList list;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 list = pa.GetPersonList1();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 list = pa.GetPersonList2();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 foreach (Person p in list)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 Console.WriteLine("{0}: {1} {2}", p.ID, p.FirstName, p.LastName);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 // ExecuteScalarList.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 List<int> slist = pa.GetPersonIDList();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 foreach (int id in slist)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 Console.WriteLine("{0}", id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 }