Language Integrated Query: (LINQ) An introduction

Slides:



Advertisements
Similar presentations
The Microsoft Technical Roadshow 2007 Language Enhancements and LINQ Daniel Moth Developer & Platform Group Microsoft Ltd
Advertisements

Language Integrated Query (LINQ) Martin Parry Developer & Platform Group Microsoft Ltd
Michael Pizzo Software Architect Data Programmability Microsoft Corporation.
Damien Guard (BSc, MBCS) Guernsey Software Developer Forum Language Integrated Query:
Midterm Review Lecture 14b. 14 Lectures So Far 1.Introduction 2.The Relational Model 3.Disks and Files 4.Relational Algebra 5.File Org, Indexes 6.Relational.
Visual Studio 2008 and ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
© Copyright SELA Software & Education Labs Ltd Baruch Hirsch St. Bnei Brak Israel Microsoft Entity Framework v1.1 over Oracle Database Erez.
A tour of new features introducing LINQ. Agenda of LINQ Presentation We have features for every step of the way LINQ Fundamentals Anonymous Functions/Lambda.
Some Basic Database Terminology
LINQ Programming in C# LINQ CSE Prof. Roger Crawfis.
 Introduction  What is LINQ  Syntax  How to Query  Example Program.
Slides from Gang Luo, Xuting Zhao and Damien Guard
Reflection IT LINQ & Entity Framework Fons Sonnemans (Trainer)
LINQ, An IntroLINQ, An Intro Florin−Tudor Cristea, Microsoft Student Partner.
Eric Vogel Software Developer A.J. Boggs & Company.
NHibernate in Action Web Seminar at UMLChina By Pierre Henri Kuaté 2008/08/27
Compiling Mappings to Bridge Applications and Databases Melnik, Adya and Research.
Getting familiar with LINQ to Objects Florin−Tudor Cristea, Microsoft Student Partner.
Putting it all together: LINQ as an Example. The Problem: SQL in Code Programs often connect to database servers. Database servers only “speak” SQL. Programs.
Entity Framework Overview. Entity Framework A set of technologies in ADO.NET that support the development of data-oriented software applications A component.
Introduction to LINQ Lecture # 19 August Introduction How do you interrogate/manipulate data? What if you could do the work in a type-safe," string-free.
Ronnie Saurenmann Principal Architect Microsoft Switzerland.
LINQ: It’s Not Your Father’s Data Access Denny Boynton Anheuser-Busch Companies.
The.NET Language Integrated Query Project Anders Hejlsberg TLN306 Technical Fellow Microsoft Corporation.
 Language Integrated Query  Make query a part of the language  Component of.NET Framework 3.5  Shipped with Visual Studio 2008.
Objectives In this lesson, you will learn to: *Identify the need for ADO.NET *Identify the features of ADO.NET *Identify the components of the ADO.NET.
Oct * Brad Tutterow. VS 2008.NET 3.5LINQ Entity Framework  The ADO.NET Entity Framework is part of Microsoft’s next generation of.NET technologies.
AUC Technologies LINQ (Language Integrated Query) LINQ Presented By : SHAIKH SHARYAR JAVED Software Engineer (Daedalus Software Inc.) Technology Teacher.
Language Integrated Query (LINQ). Data Access Programming Challenges Developers must learn data store-specific query syntax Multiple, disparate data stores.
By: Luis Carranco CIS764 - Fall  What is LINQ  Architecture  How does it work?  Samples/Demo  Why to use LINQ? 2.
1 ADO.NET Data Services Mike Taulty Developer & Platform Group Microsoft Ltd
Applied Linq Putting Linq to work Introducing… Class-A Kennisprovider Microsoft development Training Coaching Alex Thissen Trainer/coach.
LINQ & PLINQ (Parallel) Language Integrated Query.
CSCI 3327 Visual Basic Chapter 8: Introduction to LINQ and Collections UTPA – Fall 2011.
1 Announcements Reading for next week: Chapter 4 Your first homework will be assigned as soon as your database accounts have been set up.  Expect an .
Linq Overview Vincent GERMAIN. Evolution - Rappel Langage  C# 2.0  C# 3.0 (Local type inference, Lambda expression, Method extension,Anonymous type)
Damien Guard (BSc, MBCS) Guernsey Software Developer Forum Language Integrated Query:
Joel Pobar Language Geek Microsoft DEV320 Improve on C# % Backwards Compatible Language Integrated Query (LINQ)
Ken Casada Developer Evangelist Microsoft Switzerland
Language Integrated Query Mike Taulty Developer & Platform Group Microsoft Ltd
Top 10 Entity Framework Features Every Developer Should Know
Functional Programming
Introduction to Entity framework
Part 1: Overview of LINQ Intro to LINQ Presenter: PhuongNQK.
ASP.NET Programming with C# and SQL Server First Edition
Microsoft Visual Basic 2010: Reloaded Fourth Edition
Introduction to Entity Framework
Jim Fawcett CSE681 – Software Modeling and Analysis Fall 2016
Advanced Accounting Information Systems
LINQ for SQL SQL Saturday May 2009 David Fekke.
Jim Fawcett CSE681 – Software Modeling and Analysis Fall 2013
Intro to LINQ Part 2 – Concepts and LINQ to Objects
LiNQ SQL Saturday David Fekke.
9/20/2018 2:13 PM Visual Studio развитие технологий доступа к данным на платформе Microsoft.NET Роман Здебский Эксперт по технологиям разработки.
ADO.NET Entity Framework
MIS Professor Sandvig MIS 324 Professor Sandvig
ADO.NEXT Advances in Data Access for 2008
Visual Studio “Orcas” & .NET Framework v3.5
Entity Framework Core (EF Core)
Language Integrated Query (LINQ)
Data Model.
MIS Professor Sandvig MIS 324 Professor Sandvig
INFO 344 Web Tools And Development
Технологии доступа к данным на платформе Microsoft.NET
ADO.NET Entity Framework
LINQ - 2 Ravi Kumar C++/C# Team.
LINQ to SQL Part 3.
.NET Framework V3.5+ & RESTful web services
CS4540 Special Topics in Web Development LINQ to Objects
Presentation transcript:

Language Integrated Query: (LINQ) An introduction Guernsey Software Developer Forum http://developers.org.gg (2016Q4-Revised –ME5512) ORG.With C# + vb Example

What is LINQ? Language Integrated Query Make query a part of the language Component of .NET Framework 3.5 Now shipping with Visual Studio 2008 Key feature of C# 3.0 and VB 9

Query without LINQ Objects using loops and conditions foreach (Customer c in customers) { if (c.Region == "UK") ... } Databases using SQL SELECT * FROM Customers WHERE Region='UK' XML using XPath/XQuery //Customers/Customer[@Region='UK'] This is the situation today, a different language for each technology.

Query with LINQ C# var myCustomers = from c in customers where c.Region == "UK" select c; VB.NET Dim myCustomers = From c In customers _ Where c.Region = "UK" _ Select c This is the same query in LINQ. You'll notice that the syntax is similar to SQL but with the select last. This is to facilitate IntelliSense - it needs to know what you are selecting from before it can offer what is available within that selection.

More LINQ queries C# var goodCusts = (from c in db.Customers where c.PostCode.StartsWith("GY") orderby c.Sales descending select c).Skip(10).Take(10); VB.NET Dim goodCusts = (From c In db.Customers _ Where c.PostCode.StartsWith("GY") _ Order By c.Sales Descending _ Select c).Skip(1).Take(10)

Advantages Unified data access Single syntax to learn and remember Strongly typed Catch errors during compilation IntelliSense Prompt for syntax and attributes Bindable result sets

Architecture C# VB.NET Others .NET Language Integrated Query (LINQ) LINQ data source providers ADO.NET support for LINQ LINQ to Objects LINQ to Datasets LINQ to SQL LINQ to Entities LINQ to XML

LINQ to Objects C# int[] nums = new int[ ] {0,4,2,6,3,8,3,1}; double average = nums.Take(6).Average(); var above = from n in nums where n > average select n; VB.NET Dim nums() As Integer = {0,4,2,6,3,8,3,1} Double average = nums.Take(6).Average() Dim above = From n In nums _ Where n > average _ Select n

LINQ to Objects Query any IEnumerable<T> source Includes arrays, List<T>, Dictionary... Many useful operators available Sum, Max, Min, Distinct, Intersect, Union Expose your own data with IEnumerable<T> or IQueryable<T> Create operators using extension methods

LINQ operators and many others Aggregate Conversion Ordering Partitioning Sets Aggregate Average Count Max Min Sum Cast OfType ToArray ToDictionary ToList ToLookup ToSequence OrderBy ThenBy Descending Reverse Skip SkipWhile Take TakeWhile Concat Distinct Except Intersect Union and many others

LINQ to SQL Object-relational mapping Records become strongly-typed objects Data context is the controller mechanism Facilitates update, delete & insert Translates LINQ queries behind the scenes Type, parameter and injection safe

Database mapping VS 2008 designer or SQLMetal command Map tables & fields to classes & properties Generates partial classes with attributes Each record becomes an object Data context represents the database Utilize tables, views or stored procedures

Modifying objects Update Set object properties Delete context.Table.DeleteOnSubmit(object) Insert context.Table.InsertOnSubmit(object) Commit changes back context.SubmitChanges() Transactional - all or nothing

Additional providers Relational data NHibernate, MySQL, Oracle, PostgreSQL Web services RDF, Flickr, Amazon, WebQueries Custom LDAP, Google Desktop, SharePoint, TerraServer maps

Limitations LINQ Only defines query, not update or context LINQ To SQL Mapping is set at compile time Can not mix mapped and unmapped properties in a single query Microsoft SQL Server 2000, 2005 only

.NET features used .NET Framework 2.0 Partial classes (mapping) Anonymous types (shaping) Extension methods (query operators) Type inference (var keyword) Lambda expressions (query syntax)