Linq to SQL Chalk Talk Freek Leemhuis Rob Huibers Logica
LINQ Bestaat uit taal uitbreidingen in C# 3.0 en VB 9.0 Uitbreidbaar door LINQ providers voor externe data formaten (bijvoorbeeld MS SQL Server). LINQ to SQL Een framework(OR mapper) voor het mappen van data classes op SQL Server tables, views en stored procedures.
Taaluitbreidingen Linq keywords Extension methods Partial Methods Lambda expressions Anonymous types Object initializers Local variable inference
LINQ parts C# 3.0C# 3.0 VB 9.0VB 9.0 OthersOthers LINQLINQ Interne query engine LINQ to Objects.Net APIs LINQ to Datasets LINQ to XML Providers LINQ to SQL LINQ to Entities IQueryableIEnumerable
Object Relational Mapping Objecten Objects != Data Relationele Data
LINQ to SQL Architectuur from c in Context.Customers Where c.LastName. StartsWith(“Niks”) select new { c.Name, c.FirstName}; from c in Context.Customers Where c.LastName. StartsWith(“Niks”) select new { c.Name, c.FirstName}; select Name, FirstName from customers where Lastname like ‘Niks%' Services: - Change tracking - Concurrency control - Object identity LINQ to SQL DataContext SQL Server Customer c = new Customer(); Customer.LastName = “Bos”; Customers.InsertOnSumbit(c); Context.SubmitChanges(); Dynamische SQL of Stored Procedure ApplicatieApplicatie
Het ADO.Net Entity Framework Conceptual Mapping Logica l Object Model Relational Data Entity Table CSDLMSLSSDL Table
LINQ to SQL versus Entity Framework
Linq to SQL in N-tier Architectuur
Resources Starten met Linq Linq ninjas LINQPad