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();
+			}
+		}
+	}
+}