custom linq providers

19

Upload: vitaly-baum

Post on 21-May-2015

878 views

Category:

Technology


0 download

DESCRIPTION

The presentation how to create custom linq providers for .net

TRANSCRIPT

Page 2: Custom LINQ Providers
Page 3: Custom LINQ Providers
Page 4: Custom LINQ Providers
Page 5: Custom LINQ Providers
Page 6: Custom LINQ Providers

IQUERY

PROVIDER

Page 7: Custom LINQ Providers

source

.Provider

.Execute<int>(

Expression.Call(null,

((MethodInfo) MethodBase

.GetCurrentMethod())

.MakeGenericMethod(

new Type[] {

typeof(TSource) }),

new Expression[] {source.Expression }));

Page 8: Custom LINQ Providers

Source

.Provider

.CreateQuery<TSource>(

Expression.Call(

null,

((MethodInfo)

MethodBase

.GetCurrentMethod())

.MakeGenericMethod(

new Type[] { typeof(TSource) }),

new Expression[] {

source.Expression,

Expression.Quote(predicate) }));

Page 9: Custom LINQ Providers

IQUERY

PROVIDER

Page 10: Custom LINQ Providers

IQUERY

PROVIDER

Page 11: Custom LINQ Providers

IQUERY

PROVIDER

Page 12: Custom LINQ Providers
Page 13: Custom LINQ Providers
Page 14: Custom LINQ Providers

//is it the same thing?

s1 == s2

s1.Equals(s2)

String.Equals(s1, s2)

String.Compare(s1, s2) == 0

Page 15: Custom LINQ Providers
Page 16: Custom LINQ Providers

Page 18: Custom LINQ Providers