NET Team LINQ ADO NET Entity Framework Stefan

  • Slides: 10
Download presentation
. NET Team LINQ & ADO. NET Entity Framework Stefan Dobrev GM Avaxo Ltd.

. NET Team LINQ & ADO. NET Entity Framework Stefan Dobrev GM Avaxo Ltd. http: //ligaz. blogspot. com

Contents 1. LINQ – general stuff 2. LINQ Providers 3. ADO. NET Entity Framework

Contents 1. LINQ – general stuff 2. LINQ Providers 3. ADO. NET Entity Framework

LINQ Language Integrated Query

LINQ Language Integrated Query

DEMO LINQ in Action

DEMO LINQ in Action

What we saw? Query expressions var func = from l in Programming. Language. Get.

What we saw? Query expressions var func = from l in Programming. Language. Get. All() where l. Paradigm. Has. Value(Functional) select l; Local variable type inference var func = Programming. Language. Get. All(). Where(l => l. Paradigm. Has. Value(Functional)). Select(l => l); Extension methods Lambda expressions Expression Trees

Local Variable Type Inference int i = 5; string s = "Hello"; double d

Local Variable Type Inference int i = 5; string s = "Hello"; double d = 1. 0; int[] numbers = new int[] {1, 2, 3}; Dictionary<int, Order> orders = new Dictionary<int, Order>(); var i = 5; var s = "Hello"; var d = 1. 0; var numbers = new int[] {1, 2, 3}; var orders = new Dictionary<int, Order>(); Compiler infers the correct type from the right side

Extension Methods obj. Foo(x, y) namespace ITBoxing { XXX. Foo(obj, x, y) public static

Extension Methods obj. Foo(x, y) namespace ITBoxing { XXX. Foo(obj, x, y) public static class Extensions { Extension Method } } public static string Has. Value( this Programming. Paradigm paradigm, Programming. Paradigm value ) { return ( paradigm & value ) != 0 } using ITBoxing Intelli. Sense Bring extensions into scope Programming. Paradigm paradigm = Functional & Imperative; Paradigm. Has. Value(Imperative);

Lambda Expressions List<Programming. Language> langs = Programming. Language. Get. All(); List<Programming. Language> cool =

Lambda Expressions List<Programming. Language> langs = Programming. Language. Get. All(); List<Programming. Language> cool = langs. Find. All( delegate(Programming. Language l) { return l. Is. Cool; } ); List<Programming. Language> langs = Programming. Language. Get. All(); List<Programming. Language> cool = langs. Find. All(l => l. Is. Cool); Lambda expression

Expression Trees Code as Data public delegate bool Predicate<T>(T item); Expression<Predicate<Programming. Language>> is. Cool

Expression Trees Code as Data public delegate bool Predicate<T>(T item); Expression<Predicate<Programming. Language>> is. Cool = l => l. Is. Cool == true; Parameter. Expression l = Expression. Parameter( typeof(Programming. Language), "l" ); Expression expr = Expression. Equal( Expression. Property(l, typeof(Programming. Language). Get. Property("Is. Cool")), Expression. Constant(true)); Expression<Predicate <Programming. Language>> is. Cool = Expression. Lambda <Predicate<Programming. Language>>(expr, l);

LINQ & ADO. NET Entity Framework Questions?

LINQ & ADO. NET Entity Framework Questions?