Mercurial > pub > bltoolkit
diff UnitTests/Linq/GenerateTest.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/GenerateTest.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,32 @@ +using System; +using System.Linq; +using System.Linq.Expressions; + +using NUnit.Framework; + +using BLToolkit.Linq; + +namespace Data.Linq +{ + using Model; + + [TestFixture] + public class GenerateTest : TestBase + { + [Test] + public void GeneratePredicate() + { + Expression<Func<Person,bool>> a = x => x.FirstName == "John"; + Expression<Func<Person,bool>> b = x => x.LastName == "Pupkin"; + + var bBody = b.Body.Convert(e => e == b.Parameters[0] ? a.Parameters[0] : e); + var predicate = Expression.Lambda<Func<Person,bool>>(Expression.AndAlso(a.Body, bBody), a.Parameters[0]); + + using (var db = new TestDbManager()) + { + var q = db.Person.Where(predicate); + var p = q.First(); + } + } + } +}