annotate UnitTests/Fluent/FluentMapTest.cs @ 6:11b6da379593

Исправлена странная ошибка при использовании OfType<...>().Where(...)
author cin
date Mon, 05 Dec 2016 05:50:52 +0300
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.Generic;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Linq;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using BLToolkit.Data;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using BLToolkit.Data.Linq;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.DataAccess;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 using BLToolkit.Fluent.Test.MockDataBase;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 using BLToolkit.Mapping;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 using BLToolkit.Mapping.Fluent;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 using BLToolkit.Reflection.Extension;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 using Microsoft.VisualStudio.TestTools.UnitTesting;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 namespace BLToolkit.Fluent.Test
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 /// Тестирование FluentMap
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 [TestClass]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 public class FluentMapTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 [TestInitialize]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 public void Initialize()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 DbManager.AddDataProvider(typeof(MockDataProvider));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 /// TableName mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 public void ShouldMapTableName()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 .NewReader("Field1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 .NewRow(1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 new FluentMap<TableNameDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 .TableName("TableNameDboT1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 db.GetTable<TableNameDbo>().ToArray();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 .Assert().AreTable("TableNameDboT1", "Fail mapping");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 /// TableName mapping fro child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 public void ShouldMapTableNameForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 .NewReader("Field1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 .NewRow(1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 new FluentMap<TableNameDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 .TableName("TableNameDboT1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 db.GetTable<TableNameChildDbo>().ToArray();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 .Assert().AreTable("TableNameDboT1", "Fail mapping");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 /// MapField mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 public void ShouldMapField()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91 .NewNonQuery();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 new FluentMap<MapFieldDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 .MapField(_ => _.Field1, "f1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 db.GetTable<MapFieldDbo>().Insert(() => new MapFieldDbo { Field1 = 1 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106 .Assert().AreField("f1", "Fail mapping");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 /// MapField mapping for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114 public void ShouldMapFieldforChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 .NewNonQuery();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 new FluentMap<MapFieldDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125 .MapField(_ => _.Field1, "f1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 db.GetTable<MapFieldChild1Dbo>().Insert(() => new MapFieldChild1Dbo { Field1 = 1 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 .Assert().AreField("f1", "Fail mapping");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 /// MapField mapping for child override
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141 public void ShouldMapFieldforChildOverride()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 .NewNonQuery();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 new FluentMap<MapFieldDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 .MapField(_ => _.Field1, "f1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154 new FluentMap<MapFieldChild2Dbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 .MapField(_ => _.Field1, "fc1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159 db.GetTable<MapFieldChild2Dbo>().Insert(() => new MapFieldChild2Dbo { Field1 = 1 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 .Assert().AreField("fc1", "Fail mapping");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 /// PrimaryKey mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171 public void ShouldMapPrimaryKey()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 .NewReader("Field1", "Field2")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176 .NewRow(1, 2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182 new FluentMap<PrimaryKeyDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183 .PrimaryKey(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187 AssertExceptionEx.AreNotException<Exception>(() => new SqlQuery<PrimaryKeyDbo>(db).SelectByKey(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188 , "Fail query");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191 Assert.AreEqual(1, conn.Commands[0].Parameters.Count, "Fail params");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193 .Assert().AreField("Field2", 2, "Not where part");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198 /// PrimaryKey mapping for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 public void ShouldMapPrimaryKeyForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205 .NewReader("Field1", "Field2")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206 .NewRow(1, 2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212 new FluentMap<PrimaryKeyDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213 .PrimaryKey(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217 AssertExceptionEx.AreNotException<Exception>(() => new SqlQuery<PrimaryKeyChildDbo>(db).SelectByKey(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218 , "Fail query");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
219
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
220 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
221 Assert.AreEqual(1, conn.Commands[0].Parameters.Count, "Fail params");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
222 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
223 .Assert().AreField("Field2", 2, "Not where part");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
224 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
225 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
226
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
227 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
228 /// NonUpdatable use
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
229 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
230 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
231 public void ShouldMapNonUpdatable()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
232 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
233 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
234 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
235 .NewNonQuery();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
236
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
237 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
238 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
239 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
240 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
241 new FluentMap<NonUpdatableDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
242 .NonUpdatable(_ => _.Field1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
243 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
244
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
245 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
246 new SqlQuery<NonUpdatableDbo>(db).Insert(new NonUpdatableDbo { Field1 = 10, Field2 = 1 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
247
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
248 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
249 Assert.AreEqual(1, conn.Commands[0].Parameters.Count, "Fail params");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
250 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
251 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
252
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
253 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
254 /// NonUpdatable use for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
255 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
256 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
257 public void ShouldMapNonUpdatableForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
258 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
259 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
260 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
261 .NewNonQuery();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
262
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
263 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
264 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
265 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
266 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
267 new FluentMap<NonUpdatableDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
268 .NonUpdatable(_ => _.Field1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
269 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
270
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
271 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
272 new SqlQuery<NonUpdatableChildDbo>(db).Insert(new NonUpdatableChildDbo { Field1 = 10, Field2 = 1 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
273
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
274 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
275 Assert.AreEqual(1, conn.Commands[0].Parameters.Count, "Fail params");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
276 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
277 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
278
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
279 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
280 /// SqlIgnore mapping on insert
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
281 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
282 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
283 public void ShouldMapSqlIgnoreInsert()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
284 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
285 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
286 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
287 .NewNonQuery();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
288
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
289 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
290 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
291 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
292 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
293 new FluentMap<SqlIgnoreInsertDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
294 .SqlIgnore(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
295 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
296
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
297 // when / then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
298 new SqlQuery<SqlIgnoreInsertDbo>(db).Insert(new SqlIgnoreInsertDbo { Field1 = 20, Field2 = 2 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
299 AssertExceptionEx.AreException<LinqException>(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
300 () => db.GetTable<SqlIgnoreInsertDbo>().Insert(() => new SqlIgnoreInsertDbo { Field1 = 10, Field2 = 1 })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
301 , "Fail for linq");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
302
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
303 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
304 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
305 .Assert().AreNotField("Field2", "Field exists");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
306 Assert.AreEqual(1, conn.Commands[0].Parameters.Count, "Fail params");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
307 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
308 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
309
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
310 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
311 /// SqlIgnore mapping on select
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
312 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
313 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
314 public void ShouldMapSqlIgnoreSelect()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
315 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
316 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
317 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
318 .NewReader("Field1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
319 .NewRow(10);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
320
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
321 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
322 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
323 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
324 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
325 new FluentMap<SqlIgnoreSelectDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
326 .SqlIgnore(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
327 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
328
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
329 var table = db.GetTable<SqlIgnoreSelectDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
330
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
331 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
332 (from t in table where t.Field1 == 10 select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
333
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
334 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
335 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
336 .Assert().AreNotField("Field2", "Field exists");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
337 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
338 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
339
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
340 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
341 /// SqlIgnore mapping for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
342 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
343 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
344 public void ShouldMapSqlIgnoreForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
345 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
346 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
347 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
348 .NewReader("Field1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
349 .NewRow(10);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
350
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
351 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
352 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
353 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
354 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
355 new FluentMap<SqlIgnoreSelectDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
356 .SqlIgnore(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
357 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
358
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
359 var table = db.GetTable<SqlIgnoreChildDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
360
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
361 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
362 (from t in table where t.Field1 == 10 select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
363
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
364 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
365 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
366 .Assert().AreNotField("Field2", "Field exists");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
367 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
368 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
369
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
370 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
371 /// MapIgnore mapping on insert
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
372 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
373 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
374 public void ShouldMapIgnoreInsert()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
375 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
376 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
377 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
378 .NewNonQuery();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
379
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
380 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
381 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
382 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
383 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
384 new FluentMap<MapIgnoreInsertDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
385 .MapIgnore(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
386 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
387
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
388 // when / then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
389 new SqlQuery<MapIgnoreInsertDbo>(db).Insert(new MapIgnoreInsertDbo { Field1 = 20, Field2 = 2 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
390
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
391 AssertExceptionEx.AreException<LinqException>(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
392 () => db.GetTable<MapIgnoreInsertDbo>().Insert(() => new MapIgnoreInsertDbo { Field1 = 10, Field2 = 1 })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
393 , "Fail for linq");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
394
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
395 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
396 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
397 .Assert().AreNotField("Field2", "Field exists");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
398 Assert.AreEqual(1, conn.Commands[0].Parameters.Count, "Fail params");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
399 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
400 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
401
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
402 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
403 /// MapIgnore mapping on select
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
404 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
405 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
406 public void ShouldMapIgnoreSelect()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
407 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
408 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
409 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
410 .NewReader("Field1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
411 .NewRow(10, 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
412
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
413 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
414 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
415 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
416 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
417 new FluentMap<MapIgnoreSelectDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
418 .MapIgnore(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
419 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
420
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
421 var table = db.GetTable<MapIgnoreSelectDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
422
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
423 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
424 (from t in table where t.Field1 == 10 select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
425
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
426 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
427 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
428 .Assert().AreNotField("Field2", "Field exists");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
429 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
430 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
431
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
432 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
433 /// MapIgnore mapping for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
434 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
435 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
436 public void ShouldMapIgnoreForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
437 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
438 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
439 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
440 .NewReader("Field1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
441 .NewRow(10, 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
442
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
443 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
444 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
445 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
446 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
447 new FluentMap<MapIgnoreSelectDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
448 .MapIgnore(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
449 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
450
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
451 var table = db.GetTable<MapIgnoreChildDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
452
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
453 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
454 (from t in table where t.Field1 == 10 select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
455
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
456 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
457 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
458 .Assert().AreNotField("Field2", "Field exists");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
459 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
460 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
461
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
462 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
463 /// Trimmable mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
464 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
465 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
466 public void ShouldMapTrimmable()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
467 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
468 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
469 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
470 .NewReader("Field1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
471 .NewRow("test ");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
472
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
473 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
474 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
475 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
476 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
477 new FluentMap<TrimmableDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
478 .Trimmable(_ => _.Field1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
479 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
480
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
481 var table = db.GetTable<TrimmableDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
482
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
483 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
484 var dbo = (from t in table select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
485
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
486 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
487 Assert.AreEqual("test", dbo.Field1, "Not trimmable");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
488 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
489 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
490
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
491 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
492 /// Trimmable mapping for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
493 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
494 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
495 public void ShouldMapTrimmableForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
496 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
497 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
498 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
499 .NewReader("Field1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
500 .NewRow("test ");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
501
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
502 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
503 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
504 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
505 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
506 new FluentMap<TrimmableDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
507 .Trimmable(_ => _.Field1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
508 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
509
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
510 var table = db.GetTable<TrimmableChildDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
511
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
512 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
513 var dbo = (from t in table select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
514
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
515 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
516 Assert.AreEqual("test", dbo.Field1, "Not trimmable");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
517 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
518 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
519
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
520 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
521 /// MapValue mapping for member
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
522 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
523 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
524 public void ShouldMapValueForMember()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
525 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
526 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
527 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
528 .NewReader("Field1", "Field2")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
529 .NewRow(true, false);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
530
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
531 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
532 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
533 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
534 #warning bug for maping TO db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
535 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
536 new FluentMap<MapValueMemberDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
537 .MapField(_ => _.Field1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
538 .MapValue("result true", true)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
539 .MapValue("result false", false)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
540 .MapField(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
541 .MapValue("value true", true)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
542 .MapValue("value false", false)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
543 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
544
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
545 var table = db.GetTable<MapValueMemberDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
546
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
547 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
548 var dbo = (from t in table select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
549
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
550 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
551 Assert.AreEqual("result true", dbo.Field1, "Not map from value1");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
552 Assert.AreEqual("value false", dbo.Field2, "Not map from value2");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
553 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
554 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
555
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
556 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
557 /// MapValue mapping for member for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
558 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
559 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
560 public void ShouldMapValueForMemberForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
561 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
562 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
563 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
564 .NewReader("Field1", "Field2")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
565 .NewRow(true, false);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
566
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
567 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
568 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
569 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
570 #warning bug for maping TO db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
571 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
572 new FluentMap<MapValueMemberDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
573 .MapField(_ => _.Field1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
574 .MapValue("result true", true)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
575 .MapValue("result false", false)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
576 .MapField(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
577 .MapValue("value true", true)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
578 .MapValue("value false", false)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
579 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
580
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
581 var table = db.GetTable<MapValueMemberChildDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
582
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
583 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
584 var dbo = (from t in table select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
585
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
586 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
587 Assert.AreEqual("result true", dbo.Field1, "Not map from value1");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
588 Assert.AreEqual("value false", dbo.Field2, "Not map from value2");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
589 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
590 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
591
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
592 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
593 /// MapValue mapping for enum
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
594 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
595 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
596 public void ShouldMapValueForEnum()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
597 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
598 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
599 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
600 .NewReader("Field1", "Field2", "Field3", "Field4")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
601 .NewRow("ok", "super", "yes", 10);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
602
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
603 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
604 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
605 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
606 #warning bug for maping TO db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
607 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
608 new FluentMap<MapValueEnumDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
609 .MapValue(MapValueEnum.Value1, "ok", "yes")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
610 .MapValue(MapValueEnum.Value2, "super")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
611 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
612
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
613 var table = db.GetTable<MapValueEnumDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
614
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
615 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
616 var dbo = (from t in table select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
617
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
618 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
619 Assert.AreEqual(MapValueEnum.Value1, dbo.Field1, "Not map from value1");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
620 Assert.AreEqual(MapValueEnum.Value2, dbo.Field2, "Not map from value2");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
621 Assert.AreEqual(MapValueEnum.Value1, dbo.Field3, "Not map from value3");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
622 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
623 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
624
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
625 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
626 /// MapValue mapping for enum for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
627 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
628 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
629 public void ShouldMapValueForEnumForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
630 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
631 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
632 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
633 .NewReader("Field1", "Field2", "Field3", "Field4")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
634 .NewRow("ok", "super", "yes", 10);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
635
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
636 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
637 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
638 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
639 #warning bug for maping TO db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
640 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
641 new FluentMap<MapValueEnumDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
642 .MapValue(MapValueEnum.Value1, "ok", "yes")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
643 .MapValue(MapValueEnum.Value2, "super")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
644 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
645
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
646 var table = db.GetTable<MapValueEnumChildDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
647
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
648 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
649 var dbo = (from t in table select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
650
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
651 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
652 Assert.AreEqual(MapValueEnum.Value1, dbo.Field1, "Not map from value1");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
653 Assert.AreEqual(MapValueEnum.Value2, dbo.Field2, "Not map from value2");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
654 Assert.AreEqual(MapValueEnum.Value1, dbo.Field3, "Not map from value3");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
655 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
656 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
657
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
658 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
659 /// MapValue mapping for type
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
660 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
661 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
662 public void ShouldMapValueForType()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
663 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
664 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
665 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
666 .NewReader("Field1", "Field2", "Field3")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
667 .NewRow("one", "two", true);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
668
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
669 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
670 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
671 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
672 #warning bug for property any different types
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
673 #warning bug for maping TO db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
674 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
675 new FluentMap<MapValueTypeDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
676 .MapValue(1, "one", "1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
677 .MapValue(2, "two")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
678 .MapValue(3, true)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
679 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
680
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
681 var table = db.GetTable<MapValueTypeDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
682
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
683 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
684 var dbo = (from t in table select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
685
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
686 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
687 Assert.AreEqual(1, dbo.Field1, "Not map from value1");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
688 Assert.AreEqual(2, dbo.Field2, "Not map from value2");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
689 Assert.AreEqual(3, dbo.Field3, "Not map from value3");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
690 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
691 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
692
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
693 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
694 /// MapValue mapping for type for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
695 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
696 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
697 public void ShouldMapValueForTypeForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
698 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
699 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
700 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
701 .NewReader("Field1", "Field2", "Field3")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
702 .NewRow("one", "two", true);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
703
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
704 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
705 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
706 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
707 #warning bug for property any different types
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
708 #warning bug for maping TO db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
709 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
710 new FluentMap<MapValueTypeDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
711 .MapValue(1, "one", "1")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
712 .MapValue(2, "two")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
713 .MapValue(3, true)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
714 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
715
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
716 var table = db.GetTable<MapValueTypeChildDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
717
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
718 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
719 var dbo = (from t in table select t).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
720
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
721 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
722 Assert.AreEqual(1, dbo.Field1, "Not map from value1");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
723 Assert.AreEqual(2, dbo.Field2, "Not map from value2");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
724 Assert.AreEqual(3, dbo.Field3, "Not map from value3");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
725 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
726 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
727
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
728 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
729 /// InheritanceMapping mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
730 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
731 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
732 public void ShouldMapInheritanceMapping()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
733 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
734 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
735 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
736 .NewReader("Field1", "Field2")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
737 .NewRow(1, 1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
738 .NewRow(2, 2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
739
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
740 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
741 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
742 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
743 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
744 new FluentMap<InheritanceMappingDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
745 .InheritanceMapping<InheritanceMappingDbo1>(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
746 .InheritanceMapping<InheritanceMappingDbo2>(2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
747 .InheritanceField(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
748 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
749
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
750 var table = db.GetTable<InheritanceMappingDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
751
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
752 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
753 var dbos = (from t in table select t).ToArray();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
754
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
755 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
756 Assert.IsInstanceOfType(dbos[0], typeof(InheritanceMappingDbo1), "Invalid type1");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
757 Assert.IsInstanceOfType(dbos[1], typeof(InheritanceMappingDbo2), "Invalid type2");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
758 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
759 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
760
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
761 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
762 /// InheritanceMapping mapping select only child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
763 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
764 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
765 public void ShouldMapInheritanceMappingSelectChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
766 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
767 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
768 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
769 .NewReader("Field1", "Field2")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
770 .NewRow(1, 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
771
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
772 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
773 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
774 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
775 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
776 new FluentMap<InheritanceMappingChDbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
777 .TableName("tt")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
778 .InheritanceMapping<InheritanceMappingChDbo1>(11111)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
779 .InheritanceMapping<InheritanceMappingChDbo2>(22222)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
780 .InheritanceField(_ => _.Field2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
781 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
782
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
783 var table = db.GetTable<InheritanceMappingChDbo1>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
784
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
785 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
786 var dbos = (from t in table select t).ToArray();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
787
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
788 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
789 Assert.IsInstanceOfType(dbos[0], typeof(InheritanceMappingChDbo1), "Invalid type");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
790 Assert.IsTrue(conn.Commands[0].CommandText.ToLower().Contains("where"), "Not condition");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
791 Assert.IsTrue(conn.Commands[0].CommandText.ToLower().Contains("11111"), "Fail condition value");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
792 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
793 .Assert().AreField("Field2", 2, "Not in where part");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
794 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
795 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
796
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
797 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
798 /// Association mapping to many
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
799 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
800 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
801 public void ShouldMapAssociationToMany()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
802 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
803 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
804 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
805 .NewReader("Field4")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
806 .NewRow("TestMany");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
807
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
808 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
809 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
810 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
811 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
812 new FluentMap<AssociationThis1Dbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
813 .MapField(_ => _.FieldThis1, "ThisId")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
814 .MapField(_ => _.FieldThis2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
815 .Association(_ => _.FieldThis1).ToMany((AssociationOtherDbo _) => _.FieldOther2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
816 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
817
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
818 var table = db.GetTable<AssociationThis1Dbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
819
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
820 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
821 var dbo = (from t in table select t.FieldThis2.First().FieldOther4).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
822
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
823 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
824 Assert.AreEqual("TestMany", dbo, "Fail result for many");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
825 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
826 .Assert().AreField("ThisId", "Fail this key");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
827 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
828 .Assert().AreField("FieldOther2", "Fail other key");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
829 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
830 .Assert().AreField("FieldOther4", "Fail other result");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
831 Assert.AreEqual(3, conn.Commands[0].Fields.Count, "More fields");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
832 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
833 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
834
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
835 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
836 /// Association mapping to one
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
837 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
838 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
839 public void ShouldMapAssociationToOne()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
840 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
841 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
842 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
843 .NewReader("Field4")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
844 .NewRow("TestOne");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
845
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
846 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
847 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
848 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
849 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
850 new FluentMap<AssociationThis2Dbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
851 .MapField(_ => _.FieldThis1, "ThisId")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
852 .MapField(_ => _.FieldThis3)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
853 .Association(_ => _.FieldThis1).ToOne(_ => _.FieldOther3)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
854 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
855
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
856 var table = db.GetTable<AssociationThis2Dbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
857
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
858 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
859 var dbo = (from t in table select t.FieldThis3.FieldOther4).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
860
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
861 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
862 Assert.AreEqual("TestOne", dbo, "Fail result for many");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
863 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
864 .Assert().AreField("ThisId", "Fail this key");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
865 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
866 .Assert().AreField("FieldOther3", "Fail other key");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
867 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
868 .Assert().AreField("FieldOther4", "Fail other result");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
869 Assert.AreEqual(3, conn.Commands[0].Fields.Count, "More fields");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
870 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
871 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
872
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
873 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
874 /// Association mapping for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
875 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
876 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
877 public void ShouldMapAssociationForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
878 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
879 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
880 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
881 .NewReader("Field4")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
882 .NewRow("TestOne");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
883
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
884 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
885 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
886 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
887 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
888 new FluentMap<AssociationThis2Dbo>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
889 .MapField(_ => _.FieldThis1, "ThisId")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
890 .MapField(_ => _.FieldThis3)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
891 .Association(_ => _.FieldThis1).ToOne(_ => _.FieldOther3)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
892 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
893
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
894 var table = db.GetTable<AssociationThis2ChildDbo>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
895
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
896 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
897 var dbo = (from t in table select t.FieldThis3.FieldOther4).First();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
898
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
899 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
900 Assert.AreEqual("TestOne", dbo, "Fail result for many");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
901 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
902 .Assert().AreField("ThisId", "Fail this key");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
903 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
904 .Assert().AreField("FieldOther3", "Fail other key");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
905 conn.Commands[0]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
906 .Assert().AreField("FieldOther4", "Fail other result");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
907 Assert.AreEqual(3, conn.Commands[0].Fields.Count, "More fields");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
908 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
909 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
910
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
911 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
912 /// Relation mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
913 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
914 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
915 public void ShouldMapRelation()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
916 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
917 // given
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
918 List<Parent> parents = new List<Parent>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
919 MapResultSet[] sets = new MapResultSet[3];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
920
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
921 sets[0] = new MapResultSet(typeof(Parent), parents);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
922 sets[1] = new MapResultSet(typeof(Child));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
923 sets[2] = new MapResultSet(typeof(Grandchild));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
924
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
925 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
926 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
927 .NewReader("ParentID")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
928 .NewRow(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
929 .NewRow(2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
930 .NextResult("ChildID", "ParentID")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
931 .NewRow(4, 1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
932 .NewRow(5, 2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
933 .NewRow(6, 2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
934 .NewRow(7, 1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
935 .NextResult("GrandchildID", "ChildID")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
936 .NewRow(1, 4)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
937 .NewRow(2, 4)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
938 .NewRow(3, 5)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
939 .NewRow(4, 5)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
940 .NewRow(5, 6)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
941 .NewRow(6, 6)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
942 .NewRow(7, 7)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
943 .NewRow(8, 7);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
944
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
945 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
946 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
947 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
948 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
949 new FluentMap<Parent>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
950 .MapField(_ => _.ID, "ParentID").PrimaryKey()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
951 .MapField(_ => _.Children).Relation()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
952 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
953 new FluentMap<Child>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
954 .MapField(_ => _.Parent.ID, "ParentID")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
955 .MapField(_ => _.ID, "ChildID").PrimaryKey()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
956 .MapField(_ => _.Parent).Relation()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
957 .MapField(_ => _.Grandchildren).Relation()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
958 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
959 new FluentMap<Grandchild>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
960 .MapField(_ => _.Child.ID, "ChildID")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
961 .MapField(_ => _.ID, "GrandchildID").PrimaryKey()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
962 .MapField(_ => _.Child).Relation()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
963 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
964
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
965 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
966 db.SetCommand("select *").ExecuteResultSet(sets);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
967 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
968
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
969 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
970 Assert.IsTrue(parents.Any());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
971
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
972 foreach (Parent parent in parents)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
973 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
974 Assert.IsNotNull(parent);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
975 Assert.IsTrue(parent.Children.Any());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
976
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
977 foreach (Child child in parent.Children)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
978 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
979 Assert.AreEqual(parent, child.Parent);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
980 Assert.IsTrue(child.Grandchildren.Any());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
981
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
982 foreach (Grandchild grandchild in child.Grandchildren)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
983 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
984 Assert.AreEqual(child, grandchild.Child);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
985 Assert.AreEqual(parent, grandchild.Child.Parent);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
986 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
987 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
988 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
989 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
990
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
991 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
992 /// Relation mapping for child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
993 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
994 [TestMethod]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
995 public void ShouldMapRelationForChild()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
996 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
997 // given
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
998 List<Parent2Child> parents = new List<Parent2Child>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
999 MapResultSet[] sets = new MapResultSet[2];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1000
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1001 sets[0] = new MapResultSet(typeof(Parent2Child), parents);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1002 sets[1] = new MapResultSet(typeof(Child2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1003
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1004 // db config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1005 var conn = new MockDb()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1006 .NewReader("ParentID")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1007 .NewRow(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1008 .NewRow(2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1009 .NextResult("ChildID", "ParentID")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1010 .NewRow(4, 1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1011 .NewRow(5, 2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1012 .NewRow(6, 2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1013 .NewRow(7, 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1014
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1015 using (conn)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1016 using (var db = new DbManager(conn))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1017 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1018 // fluent config
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1019 new FluentMap<Parent2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1020 .MapField(_ => _.ID, "ParentID").PrimaryKey()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1021 .MapField(_ => _.Children).Relation()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1022 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1023 new FluentMap<Child2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1024 .MapField(_ => _.Parent.ID, "ParentID")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1025 .MapField(_ => _.ID, "ChildID").PrimaryKey()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1026 .MapField(_ => _.Parent).Relation()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1027 .MapTo(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1028
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1029 // when
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1030 db.SetCommand("select *").ExecuteResultSet(sets);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1031 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1032
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1033 // then
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1034 Assert.IsTrue(parents.Any());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1035
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1036 foreach (Parent2Child parent in parents)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1037 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1038 Assert.IsNotNull(parent);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1039 Assert.IsTrue(parent.Children.Any());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1040
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1041 foreach (Child2 child in parent.Children)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1042 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1043 Assert.AreEqual(parent, child.Parent);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1044 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1045 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1046 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1047
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1048 #region Dbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1049 public class TableNameDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1050 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1051 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1052 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1053 public class TableNameChildDbo : TableNameDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1054 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1055 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1056 public class MapFieldDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1057 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1058 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1059 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1060 public class MapFieldChild1Dbo : MapFieldDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1061 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1062 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1063 public class MapFieldChild2Dbo : MapFieldDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1064 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1065 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1066 public class PrimaryKeyDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1067 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1068 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1069 public int Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1070 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1071 public class PrimaryKeyChildDbo : PrimaryKeyDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1072 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1073 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1074 public class NonUpdatableDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1075 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1076 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1077 public int Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1078 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1079 public class NonUpdatableChildDbo : NonUpdatableDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1080 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1081 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1082 public class SqlIgnoreInsertDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1083 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1084 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1085 public int Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1086 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1087 public class SqlIgnoreSelectDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1088 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1089 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1090 public int Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1091 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1092 public class SqlIgnoreChildDbo : SqlIgnoreSelectDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1093 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1094 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1095 public class MapIgnoreInsertDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1096 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1097 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1098 public int Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1099 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1100 public class MapIgnoreSelectDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1101 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1102 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1103 public int Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1104 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1105 public class MapIgnoreChildDbo : MapIgnoreSelectDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1106 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1107 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1108 public class TrimmableDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1109 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1110 public string Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1111 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1112 public class TrimmableChildDbo : TrimmableDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1113 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1114 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1115 public class MapValueMemberDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1116 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1117 public string Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1118 public string Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1119 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1120 public class MapValueMemberChildDbo : MapValueMemberDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1121 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1122 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1123 public class MapValueEnumDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1124 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1125 public MapValueEnum Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1126 public MapValueEnum Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1127 public MapValueEnum Field3 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1128 public int Field4 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1129 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1130 public class MapValueEnumChildDbo : MapValueEnumDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1131 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1132 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1133 public enum MapValueEnum
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1134 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1135 Value1,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1136 Value2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1137 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1138 public class MapValueTypeDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1139 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1140 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1141 public int Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1142 public int Field3 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1143 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1144 public class MapValueTypeChildDbo : MapValueTypeDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1145 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1146 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1147 public abstract class InheritanceMappingDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1148 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1149 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1150 public int Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1151 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1152 public class InheritanceMappingDbo1 : InheritanceMappingDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1153 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1154 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1155 public class InheritanceMappingDbo2 : InheritanceMappingDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1156 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1157 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1158 public abstract class InheritanceMappingChDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1159 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1160 public int Field1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1161 public int Field2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1162 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1163 public class InheritanceMappingChDbo1 : InheritanceMappingChDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1164 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1165 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1166 public class InheritanceMappingChDbo2 : InheritanceMappingChDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1167 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1168 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1169 public class AssociationThis1Dbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1170 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1171 public int FieldThis1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1172 public List<AssociationOtherDbo> FieldThis2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1173 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1174 public class AssociationThis2Dbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1175 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1176 public int FieldThis1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1177 public AssociationOtherDbo FieldThis3 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1178 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1179 public class AssociationThis2ChildDbo : AssociationThis2Dbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1180 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1181 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1182 public class AssociationOtherDbo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1183 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1184 public int FieldOther1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1185 public int FieldOther2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1186 public int FieldOther3 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1187 public string FieldOther4 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1188 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1189 public class Parent
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1190 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1191 public int ID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1192 public List<Child> Children = new List<Child>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1193 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1194 public class Child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1195 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1196 public int ID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1197 public Parent Parent = new Parent();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1198 public List<Grandchild> Grandchildren = new List<Grandchild>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1199 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1200 public class Grandchild
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1201 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1202 public int ID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1203 public Child Child = new Child();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1204 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1205 public class Parent2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1206 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1207 public int ID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1208 public List<Child2> Children = new List<Child2>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1209 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1210 public class Parent2Child : Parent2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1211 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1212 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1213 public class Child2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1214 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1215 public int ID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1216 public Parent2Child Parent = new Parent2Child();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1217 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1218 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1219 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1220 }