public void GenerateKeyGenratesKeyForExpression() { const string value = "7"; var expression = new[] { new { Value = "7" } }.AsQueryable().Where(i => i.Value.StartsWith(value)); var key = ExpressionKeyGenerator.GetKey(expression.Expression); Assert.AreEqual(@"<>f__AnonymousType2`1[System.String][].Where(i => i.Value.StartsWith(""7""))", key); }
public void GenerateKeyGenratesUniqueKeysForSameExpressionOnDifferentTablesInLinqToSql() { using (var context = new LinqToSqlContext(TestDatabase.ConnectionString)) { var key1 = ExpressionKeyGenerator.GetKey(context.TestTable1s.Where(row => row.Column == "test").Expression); var key2 = ExpressionKeyGenerator.GetKey(context.TestTable2s.Where(row => row.Column == "test").Expression); Assert.AreNotEqual(key1, key2); } }