annotate UnitTests/Linq/ProviderSpecific/MsSql2008s.cs @ 1:8f65451dc28f

Исправлена проблема с фабрикой и выборкой нескольких объектов в linq выражении
author cin
date Fri, 28 Mar 2014 01:04:56 +0400
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Linq;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using BLToolkit.Data.Linq;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 namespace Data.Linq.ProviderSpecific
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 public class MsSql2008 : TestBase
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public void SqlTest([IncludeDataContexts("Sql2008", "Sql2012")] string context)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 using (var db = new TestDbManager(context))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 using (var rd = db.SetCommand(@"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 DateAdd(Hour, 1, [t].[DateTimeValue]) - [t].[DateTimeValue]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 [LinqDataTypes] [t]")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 .ExecuteReader())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 if (rd.Read())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 var value = rd.GetValue(0);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 public void SqlTypeTest([IncludeDataContexts("Sql2008", "Sql2012")] string context)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 using (var db = new TestDbManager(context))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 var q =
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 from p in db.Parent
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 join c in db.Child on p.ParentID equals c.ParentID into g
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 from c in g.DefaultIfEmpty()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 select new {p, b = Sql.AsSql((int?)c.ParentID) };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 var list = q.ToList();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 var value = db.SetCommand(@"SELECT SmallIntValue FROM LinqDataTypes WHERE ID = 1").ExecuteScalar<short>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 db.SetCommand(@"UPDATE LinqDataTypes SET SmallIntValue = @value WHERE ID = 1", db.Parameter("value", (ushort)value)).ExecuteNonQuery();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 }