Mercurial > pub > bltoolkit
diff UnitTests/Linq/ProviderSpecific/MsSql2008s.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/UnitTests/Linq/ProviderSpecific/MsSql2008s.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,49 @@ +using System; +using System.Linq; +using BLToolkit.Data.Linq; +using NUnit.Framework; + +namespace Data.Linq.ProviderSpecific +{ + [TestFixture] + public class MsSql2008 : TestBase + { + [Test] + public void SqlTest([IncludeDataContexts("Sql2008", "Sql2012")] string context) + { + using (var db = new TestDbManager(context)) + using (var rd = db.SetCommand(@" + SELECT + DateAdd(Hour, 1, [t].[DateTimeValue]) - [t].[DateTimeValue] + FROM + [LinqDataTypes] [t]") + .ExecuteReader()) + { + if (rd.Read()) + { + var value = rd.GetValue(0); + } + } + } + + [Test] + public void SqlTypeTest([IncludeDataContexts("Sql2008", "Sql2012")] string context) + { + using (var db = new TestDbManager(context)) + { + var q = + from p in db.Parent + join c in db.Child on p.ParentID equals c.ParentID into g + from c in g.DefaultIfEmpty() + select new {p, b = Sql.AsSql((int?)c.ParentID) }; + + var list = q.ToList(); + + + var value = db.SetCommand(@"SELECT SmallIntValue FROM LinqDataTypes WHERE ID = 1").ExecuteScalar<short>(); + + db.SetCommand(@"UPDATE LinqDataTypes SET SmallIntValue = @value WHERE ID = 1", db.Parameter("value", (ushort)value)).ExecuteNonQuery(); + } + } + } +}