Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx



Relevanta dokument
Mål med lektionen! Repetera och befästa kunskaperna.

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Language Integrated Query, LINQ, och databaser

Databasutveckling Introduktion till SQL och TSQL

Stored procedure i ASP.NET

Copyright 2003, SAS Institute Inc. All rights reserved.

Innehåll. MySQL Grundkurs

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Stored procedure i ASP.NET

Förstå grunderna i LINQ. Mål med lektionen!

Objektorienterad programmering

Entity Framework 4.0, en utvärdering av ett ORMramverk. Entity Framework 4.0, an evaluation of an ORM-framework Andreas Hall.

Installationsanvisningar HogiaLön Plus

ASP.NET Thomas Mejtoft

Din guide till. Teknisk Specifikation Säljstöd

ADO.NET Murach Kapitel 17-20

Lab 6: ASP.NET 2.0 Providermodellen

Mönster. Ulf Cederling Växjö University Slide 1

RVS5000PC. Allmänt. RVS5000PC produktblad

Creo Customization. Lars Björs

Ny skalbar och öppen OLAP-teknologi, SAS OLAP server

Databasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit.

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Henrik Häggbom Examensarbete Nackademin Våren 2015

Objektorienterad Systemutveckling Period 3

Installationsanvisningar HogiaLön Plus

SharePoint 2010 licensiering Wictor Wilén

Installationsanvisningar HogiaLön Plus

Installationsanvisning. Dokumenttyp Installationsanvisning Område Boss med delad databas

Installationsanvisningar HogiaLön Plus

Lektion 3. Anteckningar

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible:

Alla rättigheter till materialet reserverade Easec

Objektorienterad programmering Föreläsning 12. Copyright Mahmud Al Hakim

Kravspecifikation. Hantering av systemdokument

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

Beijer Electronics AB 2000, MA00336A,

Objektorienterad programmering Föreläsning 2

Konceptuella datamodeller

Omtentamen i OOSU2, 21 augusti 2014

Vindbrukskollen Nationell databas för planerade och befintliga vindkraftverk Insamling och utveckling

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

GADD Software en introduktion

MVC med Javascript och Ajax. Filip Ekberg

Från Excel laddningar till web arbetsflöden

Användarhandledning. Procapita Vård och Omsorg Konvertering av worddokument till PDF/A

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

Årsskiftesrutiner i HogiaLön Plus SQL

Introduktion MySQL och MariaDB

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Tillgång till alla globala delar i systemet styrs av denna profil, som i sin tur kopplas till respektive användare.

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

AVCAD 4.0 for MS SQL-SERVER

Services + REST och OAuth

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

UX 40 SAP Fiori UX inte bara for SAP applikationer. Christer Ingemarsson

Paket IIS BAS IIS Standard IIS Premium. Lagringsutrymme 10 GB* 50 GB* 100 GB* Epostutrymme 10 GB 25 GB 50 GB. Antal databaser 3 st 5 st 10 st

PAINTFEUD. Erfarenheter

Lab 5: ASP.NET 2.0 Site Navigation

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

Säkra pausade utskriftsjobb. Administratörshandbok

Examensarbete Introduk)on - Slutsatser Anne Håkansson annehak@kth.se Studierektor Examensarbeten ICT-skolan, KTH

Alla rättigheter till materialet reserverade Easec

Utvärdering av ADO.NET Entity Framework TOMAS PETTERSSON

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1

Platt hierarki Metoder för omvandling av relationsdata till hierarkisk data

#integrationsdagarna16 WELCOME INTEGRATIONSDAGARNA 2016

Daniel Akenine, Teknikchef, Microsoft Sverige

Asp.net mvc intro PER KVARNBRINK,

H0008 Skrivskydd FBWF

WSS F1. Elektronikcentrum i Svängsta Utbildning AB

KONSULTPROFIL Stefan A

1 Skapa Tabell Skapa Relationer Redigera Relationer Redigera Fält i Tabell Lägga till Poster i Tabell...

Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)

Installation av F13 Bråvalla

Installationsanvisning Boss delad databas

ORCID medlemskap och implementering vid Chalmers

CM FORUM. Introduktion till. Configuration Management (CM) / Konfigurationsledning. Tobias Ljungkvist

Eva Hellstöm - Christina Strand

Snabbguide Visma Compact API Version 5.1 Copyright Visma Spcs AB Visma Compact API

Marknadsanalysverktyg

Designmönster för sociala användningssituationer

Uppdatera Easy Planning till SQL

UTVECKLINGSMILJÖER Microsoft Visual Studio ( ), SQL Server Management Studio , Eclipse

Home Storage Manager

Slutrapport för JMDB.COM. Johan Wibjer

Årsskiftesrutiner i HogiaLön Plus SQL

Not everything that counts can be counted, and not everything that can be counted counts. William Bruce Cameron

Installationsanvisningar

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

IBM Maximo Asset Management Scheduler Version 7 Release 5.1. Installationshandbok

FactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst

Implementationsstrategier för PLCS

INNEHÅLL. Konfigurering av SQL Server. Egenskaper Kommunikationsprotokoll

Transkript:

Introduktion till Entity Framework och LINQ Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är Entity Framework? The Microsoft ADO.NET Entity Framework is an Object/Relational Mapping (ORM) framework that enables developers to work with relational data as domain-specific objects, eliminating the need for most of the data access plumbing code that developers usually need to write. Using the Entity Framework, developers issue queries using LINQ, then retrieve and manipulate data as strongly typed objects... Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx Copyright 2015 - Mahmud Al Hakim www.webacademy.se 2 1

Vad är ADO.NET? ADO.NET har sina rötter i ADO ActiveX Data Objects ADO är ett API för dataåtkomst till olika datakällor. ADO lanserades 1996 och skulle ersätta Microsofts tidigare mekanismer för dataåtkomst. ADO.NET lanserades i.net 1.0 och har många förbättringar och därför anses som en helt egen produkt. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 3 Vad är ORM? ORM står för Object/Relational Mapping. ORM är ett samlingsnamn för tekniker att gå mellan relationsdatabaser och objektorienterade applikationer. ORM är ett objektorienterad-system som konverterar databastabeller till klasser, tabellrader till objekt, och celler till egenskaper. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 4 2

ORM Några exempel Entity Framework https://msdn.microsoft.com/data LINQ to SQL https://msdn.microsoft.com/enus/library/vstudio/bb397926.aspx Nhibernate http://nhibernate.info/ DatabaseObjects http://www.hisystems.com.au/databaseobjects/ Dapper ORM https://en.wikipedia.org/wiki/dapper_orm Copyright 2015 - Mahmud Al Hakim www.webacademy.se 5 Exempel på providers Microsoft SQL Server MySQL Connector/NET Oracle Data Provider for.net IBM DB2 Bildkälla: https://msdn.microsoft.com/en-us/data/aa937709.aspx 6 3

Vad är LINQ? LINQ står för Language INtegrated Query. LINQ är en komponent som finns i Microsoft.NET LINQ to Entities används i Entity Framework. LINQ to Objects används för att komma åt objekt i minnet. LINQ to SQL används för att ställa frågor mot MS SQL (kallas även XLINQ). LINQ to XML används för att hantera XML-filer (kallas även XLINQ). LINQ består till grunden av ett API bestående av tilläggsmetoder (extension methods) som tillhandahåller de funktioner som behövs för att skicka förfrågningar till olika objekt. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 7 Bildkälla: http://codesamplez.com/linq-tutorials 8 4

Entity Framework Datamodeller Bildkälla http://www.webtech360.com/detail/design-entity-data-model-part-1-database-first-3515.html Copyright 2015 - Mahmud Al Hakim www.webacademy.se 9 EF Database First Övningar mot Norhwind Copyright 2015 - Mahmud Al Hakim www.webacademy.se 10 5

Add New Item Copyright 2015 - Mahmud Al Hakim www.webacademy.se 11 ADO.NET Entity Data Model Copyright 2015 - Mahmud Al Hakim www.webacademy.se 12 6

EF Designer from database Copyright 2015 - Mahmud Al Hakim www.webacademy.se 13 Skapa en Connection Välj SQL Server Database File Och välj sedan databasen NORTHWND.MDF Copyright 2015 - Mahmud Al Hakim www.webacademy.se 14 7

Copyright 2015 - Mahmud Al Hakim www.webacademy.se 15 Välj EF version Copyright 2015 - Mahmud Al Hakim www.webacademy.se 16 8

Välj tabeller Copyright 2015 - Mahmud Al Hakim www.webacademy.se 17 Säkerhetsvarnigen är inte så farlig! Copyright 2015 - Mahmud Al Hakim www.webacademy.se 18 9

Undersök References Copyright 2015 - Mahmud Al Hakim www.webacademy.se 19 Filen App.config En XML-fil som innehåller ett antal viktiga inställningar bl. a. connectionstrings Copyright 2015 - Mahmud Al Hakim www.webacademy.se 20 10

Filen NorthwindModel.edmx En XML-fil som innehåller ConceptualModels, StorageModels och mapping mellan dessa! Öppna filen i en XML-editor Copyright 2015 - Mahmud Al Hakim www.webacademy.se 21 NorthwindModel.edmx forts Copyright 2015 - Mahmud Al Hakim www.webacademy.se 22 11

Mapping Copyright 2015 - Mahmud Al Hakim www.webacademy.se 23 Mapping Details Copyright 2015 - Mahmud Al Hakim www.webacademy.se 24 12

Klassen NORTHWNDEntities Ärver från DbContext connectionstring Hämtas från filen App.config Copyright 2015 - Mahmud Al Hakim www.webacademy.se 25 Vad är DbContext? A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that it can be used to query from a database and group together changes that will then be written back to the store as a unit. Ett databascontext är en klass som sköter läsning och skrivning till en databas. Ett kontext är en spork * Källa: MSDN * Copyright 2015 - Mahmud Al Hakim www.webacademy.se 26 13

Vad är DbSet? A DbSet represents the collection of all entities in the context, or that can be queried from the database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. Källa: MSDN Copyright 2015 - Mahmud Al Hakim www.webacademy.se 27 Klassen Order_Details Copyright 2015 - Mahmud Al Hakim www.webacademy.se 28 14

Undersök övriga filer Copyright 2015 - Mahmud Al Hakim www.webacademy.se 29 Skapa en instans av NORTHWNDEntities Copyright 2015 - Mahmud Al Hakim www.webacademy.se 30 15

En första LINQ-fråga Copyright 2015 - Mahmud Al Hakim www.webacademy.se 31 Skriv ut din LINQ-fråga Copyright 2015 - Mahmud Al Hakim www.webacademy.se 32 16

Visa antal produkter En tilläggsmetod (Extension Method) Copyright 2015 - Mahmud Al Hakim www.webacademy.se 33 Skriv ut en lista på alla produkter Copyright 2015 - Mahmud Al Hakim www.webacademy.se 34 17

Visa en sorterad lista Fallande Z-A Copyright 2015 - Mahmud Al Hakim www.webacademy.se 35 Visa de 10 första produkter En tilläggsmetod (Extension Method) Copyright 2015 - Mahmud Al Hakim www.webacademy.se 36 18

Visa produkter från 11-20 Koppla tilläggsmetoder (Chaining) Copyright 2015 - Mahmud Al Hakim www.webacademy.se 37 Visa en lista på alla produkter som kostar mer än 50 Ett första försök med C# Copyright 2015 - Mahmud Al Hakim www.webacademy.se 38 19

Visa en lista på alla produkter som kostar mer än 50 En bättre lösning med LINQ Copyright 2015 - Mahmud Al Hakim www.webacademy.se 39 Copyright 2015 - Mahmud Al Hakim www.webacademy.se Källa: MSDN 40 20

Visa alla produkter som börjar på A Copyright 2015 - Mahmud Al Hakim www.webacademy.se 41 Visa alla produkter som innehåller Anton Copyright 2015 - Mahmud Al Hakim www.webacademy.se 42 21

Gruppering Copyright 2015 - Mahmud Al Hakim www.webacademy.se 43 EF Database First Övningar mot databasen Videobutik 1. Skapa ett nytt projekt i Visual Studio (Console Application). 2. Lägg till en ADO.NET Entity Data Model. 3. Välj EF Designer from database. 4. Skapa en Connection mot MS SQL Server. 5. Connect till databasen Videobutik. 6. Undersök edmx-filen. 7. Skapa en instans av VideobutikEntities. 8. Skapa en LINQ-fråga som hämtar en sorterad lista på alla kunder. 9. Skapa egna LINQ-frågor mot databasen. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 44 22

Överkurs Vilka kunder har Matrix hemma? Copyright 2015 - Mahmud Al Hakim www.webacademy.se 45 Överkurs Lägg till en ny kund Copyright 2015 - Mahmud Al Hakim www.webacademy.se 46 23