0
|
1 using System;
|
|
2 using System.Collections.Generic;
|
|
3
|
|
4 using NUnit.Framework;
|
|
5
|
|
6 using BLToolkit.Data;
|
|
7 using BLToolkit.DataAccess;
|
|
8
|
|
9 namespace HowTo.DataAccess
|
|
10 {
|
|
11 [TestFixture]
|
|
12 public class AbstractAccessor
|
|
13 {
|
|
14 public /*[a]*/abstract/*[/a]*/ class /*[a]*/PersonAccessor : DataAccessor<Person>/*[/a]*/
|
|
15 {
|
|
16 public /*[a]*/abstract/*[/a]*/ Person /*[a]*/SelectByName/*[/a]*/(Person person);
|
|
17 public /*[a]*/abstract/*[/a]*/ Person /*[a]*/SelectByName/*[/a]*/(string firstName, string lastName);
|
|
18
|
|
19 public /*[a]*/abstract/*[/a]*/ int /*[a]*/Insert/*[/a]*/ (Person person);
|
|
20
|
|
21 [/*[a]*/SqlQuery(/*[/a]*/"SELECT Top /*[a]*/{0}/*[/a]*/ * FROM Person ORDER BY PersonID"/*[a]*/)]/*[/a]*/
|
|
22 [/*[a]*/Index("ID")/*[/a]*/]
|
|
23 public /*[a]*/abstract/*[/a]*/ Dictionary<int,Person> /*[a]*/SelectTop/*[/a]*/([/*[a]*/Format(0)/*[/a]*/] int top);
|
|
24
|
|
25 private SprocQuery<Person> _query;
|
|
26 public SprocQuery<Person> Query
|
|
27 {
|
|
28 get
|
|
29 {
|
|
30 if (_query == null)
|
|
31 _query = new SprocQuery<Person>(DbManager);
|
|
32 return _query;
|
|
33 }
|
|
34 }
|
|
35 }
|
|
36
|
|
37 [Test]
|
|
38 public void Test()
|
|
39 {
|
|
40 using (DbManager db = new DbManager())
|
|
41 {
|
|
42 PersonAccessor pa = /*[a]*/DataAccessor.CreateInstance<PersonAccessor>(db)/*[/a]*/;
|
|
43
|
|
44 pa.BeginTransaction();
|
|
45
|
|
46 // Insert and get id.
|
|
47 //
|
|
48 Person person = new Person();
|
|
49
|
|
50 person.FirstName = "Crazy";
|
|
51 person.LastName = "Frog";
|
|
52 person.Gender = Gender.Unknown;
|
|
53
|
|
54 int id = pa./*[a]*/Insert(person)/*[/a]*/;
|
|
55
|
|
56 // SelectByName.
|
|
57 //
|
|
58 person = pa./*[a]*/SelectByName("Crazy", "Frog")/*[/a]*/;
|
|
59
|
|
60 Assert.IsNotNull(person);
|
|
61
|
|
62 // Select top.
|
|
63 //
|
|
64 Dictionary<int,Person> dic = pa./*[a]*/SelectTop(10)/*[/a]*/;
|
|
65
|
|
66 Assert.IsTrue(dic.Count <= 10);
|
|
67
|
|
68 // Delete.
|
|
69 //
|
|
70 pa.Query.Delete(person);
|
|
71
|
|
72 pa.CommitTransaction();
|
|
73 }
|
|
74 }
|
|
75 }
|
|
76 }
|
|
77
|