Mercurial > pub > bltoolkit
view UnitTests/Linq/TableFunctionTest.cs @ 5:f7d63a092920
Исправлено условие Where в тех случаях, когда репозитарий не является генериком
author | cin |
---|---|
date | Tue, 10 Mar 2015 16:02:11 +0300 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using System.Linq; using BLToolkit.Data; using BLToolkit.Data.Linq; using NUnit.Framework; namespace Data.Linq { using Model; [TestFixture] public class TableFunctionTest : TestBase { [Test] public void Func1([IncludeDataContexts("Sql2008", "Sql2012")] string context) { using (var db = new TestDbManager(context)) { var q = from p in new Model.Functions(db).GetParentByID(1) select p; q.ToList(); } } [Test] public void Func2([IncludeDataContexts("Sql2008", "Sql2012")] string context) { using (var db = new TestDbManager(context)) { var q = from c in db.Child from p in db.GetParentByID(2) select p; q.ToList(); } } [Test] public void Func3([IncludeDataContexts("Sql2008", "Sql2012")] string context) { using (var db = new TestDbManager(context)) { var q = from c in db.Child from p in db.GetParentByID(c.ParentID) select p; q.ToList(); } } readonly Func<DbManager,int,IQueryable<Parent>> _f1 = CompiledQuery.Compile( (DbManager db, int id) => from p in new Model.Functions(db).GetParentByID(id) select p); [Test] public void CompiledFunc1([IncludeDataContexts("Sql2008", "Sql2012")] string context) { using (var db = new TestDbManager(context)) { var q = _f1(db, 1); q.ToList(); } } readonly Func<TestDbManager,int,IQueryable<Parent>> _f2 = CompiledQuery.Compile( (TestDbManager db, int id) => from c in db.Child from p in db.GetParentByID(id) select p); [Test] public void CompiledFunc2([IncludeDataContexts("Sql2008", "Sql2012")] string context) { using (var db = new TestDbManager(context)) { var q = _f2(db, 1); q.ToList(); } } [Test] public void WithTabLock([IncludeDataContexts("Sql2008", "Sql2012")] string context) { using (var db = new TestDbManager(context)) { var q = from p in new Model.Functions(db).WithTabLock<Parent>() select p; q.ToList(); } } [Test, Category("FULLTEXT")] public void FreeText1([IncludeDataContexts("Northwind")] string context) { using (var db = new NorthwindDB()) { var q = from c in db.Category join t in db.FreeTextTable<Northwind.Category,int>("[Description]", "sweetest candy bread and dry meat") on c.CategoryID equals t.Key select c; q.ToList(); } } [Test, Category("FULLTEXT")] public void FreeText2([IncludeDataContexts("Northwind")] string context) { using (var db = new NorthwindDB()) { var q = from c in db.Category join t in db.FreeTextTable<Northwind.Category,int>(c => c.Description, "sweetest candy bread and dry meat") on c.CategoryID equals t.Key select c; q.ToList(); } } [Test, Category("FULLTEXT")] public void FreeText3([IncludeDataContexts("Northwind")] string context) { using (var db = new NorthwindDB()) { var q = from t in db.FreeTextTable<Northwind.Category,int>(c => c.Description, "sweetest candy bread and dry meat") join c in db.Category on t.Key equals c.CategoryID select c; q.ToList(); } } } }