SlideShare uma empresa Scribd logo
1 de 92
 Jose A. Blakeley
Partner Architect
Microsoft Corporation
 Michael Pizzo
Principal Architect
Microsoft Corporation













 ADO.NET 1.0
 Building a Data Platform
 The ADO.NET Entity Framework


























































 Evolution of Data Access APIs


 Getting Data from a SQL Database
 Working with Data
 ADO.NET and XML
 Building a Data Platform
 The ADO.NET Entity Framework
Managed Provider
DataReader
Command
Connection
Controls,
Designers,
Code-gen, etc
DataSet
DataAdapter
XmlReader
XmlWriter
OLTP operations,
Programmatic Processing,
Frameworks
ADO.NET Data Provider













Data
store
Data
Provider
Connection
CreateCommand()
ExecuteReader()
DataReader
Command ParametersParametersParameters










DataSet DataSet
Tables
Table
Columns
Column
Constraints
Constraint
Rows
Row
Relations
Relation




















Data
store
DataAdapter
MappingsMappingsMappings
InsertCommand
UpdateCommand
DeleteCommand
SelectCommand
Fill() Update()
DataSet










 Evolution of Data Access APIs
 ADO.NET 1.0
 Building a Data Platform
 Why a Conceptual Model?
 The Microsoft Entity Data Model
 Entity SQL
 The ADO.NET Entity Framework








Programming Data is Hard









Increase Developer Productivity










 The Need…
 Applications work with a well
Defined Model
 Storage Schema Abstraction
 Declarative mapping between
application and storage models
 No brittle, hard-coded mapping


















SalesPerson
EmployeeID = 729742
LoginID = pete
Title = "Developer"
VacationHours = 0
…
ExpenseAccount = …
CarLicenseNum = …
…
SalesPerson
EmployeeID = 729742
LoginID = pete
Title = "Developer"
VacationHours = 0
…
ExpenseAccount = …
CarLicenseNum = …
…
SalesPerson
EmployeeID = 729742
LoginID = pete
Title = "Developer"
VacationHours = 0
…
ExpenseAccount = true
…
SalesPerson
EmployeeID = 294272
LoginID = adam
Title = "Dev Lead"
VacationHours = 0
…
Reports
Manager
11
N














 Data Access in the 80s
 ADO.NET 1.0
 Building a Data Platform


 Entity Designer
 EntityClient
 Object Services
 Data Access in the 80s
 ADO.NET 1.0
 Building a Data Platform
 The ADO.NET Entity Framework
 Overview

 EntityClient
 Object Services




















 Data Access in the 80s
 ADO.NET 1.0
 Building a Data Platform
 The ADO.NET Entity Framework
 Overview
 Entity Designer

 Object Services















 Data Access in the 80s
 ADO.NET 1.0
 Building a Data Platform
 The ADO.NET Entity Framework
 Overview
 Entity Designer
 EntityClient

























// Lambda Expressions
string[] names = { "Luis", "Mary", "Mike", "Jose" };
Display( names, s => s.Length > 3);
// Anonymous Types and object initialization
var emp = new { Name = "Mary", Company = "Microsoft",
Age = 30 };
// Extension Methods
public static class ExtensionMethods {
public static void Display<T>(this T[] names,
Func<T, bool> filter) {
foreach (T s in names) {
if (filter(s)) Console.WriteLine(s);
}
}
}
// Query Expressions
var query = from c in Customers
where c.Discount >= 3.0 && c.Discount < 4.0
select new { c.Name, Perc = c.Discount / 100.0 };
 Introduction to LINQ




 LINQ to Entities
 LINQ to DataSet









DirectMapping
StronglytypedSQLDatabase




























Features
 Introduction to LINQ
 LINQ to SQL




 LINQ to DataSet
FlexibleMappingtoRelationalData
•
•
•
•
•
•
•
•
•

Features














 Introduction to LINQ
 LINQ to SQL
 LINQ to Entities

LINQoverDisconnectedCachewithChangeTracking










TypedandUnTyped

 AsEnumerable()

 Field<T>(columnName)

var query = from row in myDataSet.Tables["Customers"].AsEnumerable()
where row .Field<string>("City") == "London"
select new { row.Field <string> ("CustomerID"),
row.Field <string> ("ContactName") } ;
var query = from customer in northwind.Customers
where customer.City == "London"
select customer;
 Typed DataSet
 Use strongly typed accessors


























Customizing Data Classes
 Customizing Data Classes
 Entity Framework Mapping Scenarios
 Core Mapping Scenarios
 Function Mapping
 Mapping Limitations
 Database Design Considerations
 Advanced Mapping Techniques
































 Customizing Data Classes
 Entity Framework Mapping Scenarios
 Database Design Considerations














<Schema Namespace="AdventureWorksModel" Alias="Self"
xmlns="http://schemas.microsoft.com/ado/2006/04/edm">
<EntityContainer Name="AdventureWorksEntities">
<EntitySet Name="Contacts"
EntityType="AdventureWorksModel.Contact" />
<AssociationSet Name="ManagerEmployees"
Association="AdventureWorksModel.ManagerEmployee">
<End Role="Employees" EntitySet="Contacts" />
<End Role="Manager" EntitySet="Contacts" />
</AssociationSet>
</EntityContainer>
<EntityType Name="Contact">
<Key>
<PropertyRef Name="ContactID" />
</Key>
<Property Name="ContactID" Type="Int32" Nullable="false" />
<Property Name="Title" Type="String" />
<Property Name="FirstName" Type="String" Nullable="false" />
<Property Name="LastName" Type="String" Nullable="false" />
</EntityType>
<Association Name="ManagerEmployee">
<End Role="Employees"
Type="AdventureWorksModel.Employee" Multiplicity="*" />
<End Role="Manager"
Type="AdventureWorksModel.Employee" Multiplicity="0..1" />
</Association>
</Schema>
<Schema Namespace="AdventureWorksModel.Store" Alias="Self"
Provider="System.Data.SqlClient" ProviderManifestToken="2008"
xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator"
xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
<EntityContainer Name="HumanResources">
<EntitySet Name="Contact"
EntityType="AdventureWorksModel.Store.Contact" Schema="Person" />
<AssociationSet Name="FK_Employee_Employee_ContactID"
Association= "AdventureWorksModel.Store.FK_Employee_Employee_ContactID">
<End Role="Employees" EntitySet="Employee" />
<End Role="Manager" EntitySet="Employee" />
</AssociationSet>
</EntityContainer>
<EntityType Name="Contact">
<Key>
<PropertyRef Name="ContactID" />
</Key>
<Property Name="ContactID" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
<Property Name="Title" Type="nvarchar" />
<Property Name="FirstName" Type="nvarchar" Nullable="false" />
<Property Name="LastName" Type="nvarchar" Nullable="false" />
</EntityType>
<Association Name="FK_Employee_Employee_ContactID">
<End Role="Employees" Type="AdventureWorksModel.Store.Employee" Multiplicity="*" />
<End Role="Manager" Type="AdventureWorksModel.Store.Employee" Multiplicity="0..1" />
</Association>
</Schema>
<Mapping Space="C-S" xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">
<EntityContainerMapping StorageEntityContainer="HumanResources"
CdmEntityContainer="AdventureWorksEntities">
<EntitySetMapping Name="Contacts"
TypeName="AdventureWorksModel.Contact" StoreEntitySet="Contact">
<ScalarProperty Name="ContactID" ColumnName="ContactID" />
<ScalarProperty Name="Title" ColumnName="Title" />
<ScalarProperty Name="FirstName" ColumnName="FirstName" />
<ScalarProperty Name="MiddleName" ColumnName="MiddleName" />
<ScalarProperty Name="LastName" ColumnName="LastName" />
</EntitySetMapping>
<AssociationSetMapping Name="ManagerEmployees"
TypeName="AdventureWorksModel.ManagerEmployee" StoreEntitySet="Employee">
<EndProperty Name="Employees">
<ScalarProperty Name="ContactID" ColumnName="ContactID" />
</EndProperty>
<EndProperty Name="Manager">
<ScalarProperty Name="ContactID" ColumnName="ManagerID" />
</EndProperty>
<Condition ColumnName="ManagerID" IsNull="false" />
</AssociationSetMapping>
</EntityContainerMapping>
</Mapping>
 Customizing Data Classes
 Entity Framework Mapping Scenarios
 Database Design Considerations
 Advanced Mapping Techniques
 Anatomy of an .edmx file

 Custom Mapping

<ComplexType Name ="FullName">
<Property Name="Title" Type="String" />
<Property Name="FirstName" Type="String" Nullable="false" />
<Property Name="MiddleName" Type="String" />
<Property Name="LastName" Type="String" Nullable="false" />
</ComplexType>
<EntityType Name="Contact">
<Key>
<PropertyRef Name="ContactID" />
</Key>
<Property Name="ContactID" Type="Int32" Nullable="false" />
<Property Name="Name" Type="Self.FullName" Nullable="false"/>
<!-- … -->
</EntityType>
 Use your ComplexType in your Entities
 Map the Complex Type in your MSL
<EntitySetMapping Name="Contacts" TypeName="AdventureWorksModel.Contact"
StoreEntitySet="Contact">
<ScalarProperty Name="ContactID" ColumnName="ContactID" />
<ComplexProperty Name="Name">
<ScalarProperty Name="Title" ColumnName="Title" />
<ScalarProperty Name="FirstName" ColumnName="FirstName" />
<ScalarProperty Name="LastName" ColumnName="LastName" />
</ComplexProperty>
</EntitySetMapping>
 Entity Framework Mapping Scenarios
 Database Design Considerations
 Customizing Data Classes
 Advanced Mapping Techniques
 Anatomy of an .edmx file
 Complex Types








Customize Conceptual Definition







Customize Mapping Definition




















 ADO.NET and SQL Server
 Futures
 Summary:ADO.NETAto Z




















































 DataAccessAcross Tiers











 Futures










 Simple programming model
 Strongly typed
 Reduce client/server round trips
 Do not cause a statement to recompile
CREATE TYPE myTableType AS TABLE
(id INT, name NVARCHAR(100),qty
INT);
CREATE PROCEDURE myProc (@tvp
myTableType READONLY) AS
UPDATE Inventory SET
qty += s.qty
FROM Inventory AS i INNER JOIN
@tvp AS tvp
ON i.id = tvp.id
GO
TVP Client Stack Support

 SqlDbType.Structured




ADO.NET Example using DataTable
Using (MyConnection){
//Create a data table
DataTable dt = new DataTable(“TVPOrdersDataTable”);
dt.Columns.Add(“ProductType”, typeof(string));
dt.Columns.Add(“Quantity”, typeof(int));
// Add rows
dt.Rows.Add(“Canon Digital Camera”, 20);
dt.Rows.Add(“June”, 10);
dt.Rows.Add(“Xbox-360”, 8);
// Create a command and bind parameter
SqlCommand tvp_cmd = new
SqlCommand(“sp_UpdataInventory”,
MyConnection);
SqlParameter tvpParam =
tvp_cmd.Parameters.AddWithValue(
@OrdersTvp, dt);
//Execute command
tvp_cmd.ExecuteNonQuery();
SqlCommand command =
new SqlCommand(string.Empty, sqlConnection);
command.CommandText = "insert into MoviesRented
values(@customerId, @MovieID, @RentalDate,
@DueDate)";
….
// create a parameter for RentalDate
SqlParameter rentDateParam = new SqlParameter("RentDate",
System.Data.SqlDbType.DateTimeOffset);
rentDateParam.Value = DateTimeOffset.Now;
command.Parameters.Add(rentDateParam);
// create a parameter for DueDate
SqlParameter dueDateParam = new SqlParameter("DueDate",
System.Data.SqlDbType.DateTimeOffset);
dueDateParam.Value = DateTimeOffset.Now.AddDays(7);
command.Parameters.Add(dueDateParam);
….
// create a command to get the DueDate
SqlCommand command =
new SqlCommand(String.Empty, sqlConnection);
command.CommandText =
"select DueDate from MoviesRented where MovieId = @MovieId";
…
// Execute the DataReader
//
using (SqlDataReader dataReader = command.ExecuteReader())
{
if (dataReader.Read() == false)
{
Console.WriteLine("Movie has not been rented");
}
DateTimeOffset dueDate =
dataReader.GetDateTimeOffset (0);
Console.WriteLine("Movie due back on : {0}", dueDate);
}










// Poll for completion
IAsyncResult result = cmd.BeginExecuteReader();
while(!result.IsCompleted) {
// do some work
}
SqlDataReader reader = cmd.EndExecuteReader(result);
// Use a Callback
IAsyncResult result = cmd.ExecuteReader(
new AsyncCallback( myDataCallback ));
// do other work…
// optionally wait using sync object
result.WaitHandle.WaitOne();
public void myDataCallback( IAsyncResult result ) {
SqlDataReader reader = cmd.EndExecuteReader(result);
}


















public SqlDataReader GetProducts(int Category) {
SqlCommand cmd = new SqlCommand(
"Select ProductName, UnitPrice from Products " +
"where CategoryID = @CatID", cnn);
cmd.Parameters.Add("@CatID",Category);
cmd.Notification = new SqlNotificationRequest(
Category.ToString(), // message
"myQueue", // message body
3000); // timeout
return cmd.Execute();
}
public void WaitForChanges() {
SqlCommand cmd = new SqlCommand(
"Receive message_body from myQueue " +
"WITH wait_for_results", cnn);
cmd.CommandTimeout = 0;
int category = (int)cmd.ExecuteScalar();
Console.WriteLine("Category {0} changed.",category);
}




public void LoadFromDataReader(IDataReader reader)
{
// Copy the Data to SqlServer
SqlBulkCopy bcp =
new SqlBulkCopy( connectString );
bcp.DestinationTableName = "Customers";
bcp.WriteToServer( reader );
}














SqlConnection cnn = new SqlConnection(connectString);
cnn.Open();
SqlCommand cmd =
new SqlCommand("SELECT p FROM PointTable", cnn );
SqlDataReader reader = cmd.ExecuteReader();
while( reader.Read() )
{
Point point=(Point)reader[0];
Console.WriteLine(
"x:{0}, y:{1}", point.x, point.y );
}
cnn.Close();
Aggregates
AVG
CHECKSUM_AGG
COUNT
COUNT_BIG
MAX
MIN
STDEV
STDEVP
VAR
VARP
String Functions
ASCII
CHAR
CHARINDEX
DIFFERENCE
LEFT
LEN
LOWER
LTRIM
nchar
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
UNICODE
UPPER
Math Functions
ABS
ACOS
ASIN
ATAN
ATN2
CEILING
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
TAN
Date Functions
DATEADD
DATEDIFF
DATENAME
DATEPART
DAY
GETDATE
SYSDATETIME
SYSUTCDATETIME
SYSDATETIMEOFFSET
GETUTCDATE
MONTH
YEAR
System Functions
DATALENGTH
CHECKSUM
NEWID
CURRENT_TIMESTAMP
CURRENT_USER
HOST_NAME
USER_NAME
ISNUMERIC
ISDATE
 DataAccessAcross Tiers
 ADO.NET and SQL Server

















































© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Mais conteúdo relacionado

Mais procurados

Oracle business intelligence publisher – developer training
Oracle business intelligence publisher – developer trainingOracle business intelligence publisher – developer training
Oracle business intelligence publisher – developer trainingitprofessionals network
 
Présentation et bonnes pratiques du pattern MVVM - MIC Belgique
Présentation et bonnes pratiques du pattern MVVM - MIC BelgiquePrésentation et bonnes pratiques du pattern MVVM - MIC Belgique
Présentation et bonnes pratiques du pattern MVVM - MIC BelgiqueDenis Voituron
 
Asp.net mvc training
Asp.net mvc trainingAsp.net mvc training
Asp.net mvc trainingicubesystem
 
Web 2 | CSS - Cascading Style Sheets
Web 2 | CSS - Cascading Style SheetsWeb 2 | CSS - Cascading Style Sheets
Web 2 | CSS - Cascading Style SheetsMohammad Imam Hossain
 
Django workshop : let's make a blog
Django workshop : let's make a blogDjango workshop : let's make a blog
Django workshop : let's make a blogPierre Sudron
 
The Magic of WPF & MVVM
The Magic of WPF & MVVMThe Magic of WPF & MVVM
The Magic of WPF & MVVMAbhishek Sur
 
My Portfolio
My PortfolioMy Portfolio
My Portfolioaemartin4
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its featuresAbhishek Sur
 
Introduction to Event Sourcing and CQRS (IASA-IL)
Introduction to Event Sourcing and CQRS (IASA-IL)Introduction to Event Sourcing and CQRS (IASA-IL)
Introduction to Event Sourcing and CQRS (IASA-IL)Vladik Khononov
 
Mind Your Business. And Its Logic
Mind Your Business. And Its LogicMind Your Business. And Its Logic
Mind Your Business. And Its LogicVladik Khononov
 
Dig Deeper into WordPress - WD Meetup Cairo
Dig Deeper into WordPress - WD Meetup CairoDig Deeper into WordPress - WD Meetup Cairo
Dig Deeper into WordPress - WD Meetup CairoMohamed Mosaad
 
An introduction into Spring Data
An introduction into Spring DataAn introduction into Spring Data
An introduction into Spring DataOliver Gierke
 
Advanced java practical semester 6_computer science
Advanced java practical semester 6_computer scienceAdvanced java practical semester 6_computer science
Advanced java practical semester 6_computer scienceNiraj Bharambe
 

Mais procurados (20)

Oracle business intelligence publisher – developer training
Oracle business intelligence publisher – developer trainingOracle business intelligence publisher – developer training
Oracle business intelligence publisher – developer training
 
S313431 JPA 2.0 Overview
S313431 JPA 2.0 OverviewS313431 JPA 2.0 Overview
S313431 JPA 2.0 Overview
 
Présentation et bonnes pratiques du pattern MVVM - MIC Belgique
Présentation et bonnes pratiques du pattern MVVM - MIC BelgiquePrésentation et bonnes pratiques du pattern MVVM - MIC Belgique
Présentation et bonnes pratiques du pattern MVVM - MIC Belgique
 
Asp.net mvc training
Asp.net mvc trainingAsp.net mvc training
Asp.net mvc training
 
Web 2 | CSS - Cascading Style Sheets
Web 2 | CSS - Cascading Style SheetsWeb 2 | CSS - Cascading Style Sheets
Web 2 | CSS - Cascading Style Sheets
 
Django workshop : let's make a blog
Django workshop : let's make a blogDjango workshop : let's make a blog
Django workshop : let's make a blog
 
Web 6 | JavaScript DOM
Web 6 | JavaScript DOMWeb 6 | JavaScript DOM
Web 6 | JavaScript DOM
 
The Magic of WPF & MVVM
The Magic of WPF & MVVMThe Magic of WPF & MVVM
The Magic of WPF & MVVM
 
My Portfolio
My PortfolioMy Portfolio
My Portfolio
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its features
 
Introduction to Event Sourcing and CQRS (IASA-IL)
Introduction to Event Sourcing and CQRS (IASA-IL)Introduction to Event Sourcing and CQRS (IASA-IL)
Introduction to Event Sourcing and CQRS (IASA-IL)
 
Mind Your Business. And Its Logic
Mind Your Business. And Its LogicMind Your Business. And Its Logic
Mind Your Business. And Its Logic
 
DOM and Events
DOM and EventsDOM and Events
DOM and Events
 
Mvc acchitecture
Mvc acchitectureMvc acchitecture
Mvc acchitecture
 
Java script
Java scriptJava script
Java script
 
Dig Deeper into WordPress - WD Meetup Cairo
Dig Deeper into WordPress - WD Meetup CairoDig Deeper into WordPress - WD Meetup Cairo
Dig Deeper into WordPress - WD Meetup Cairo
 
An introduction into Spring Data
An introduction into Spring DataAn introduction into Spring Data
An introduction into Spring Data
 
Metaworks3
Metaworks3Metaworks3
Metaworks3
 
Advanced java practical semester 6_computer science
Advanced java practical semester 6_computer scienceAdvanced java practical semester 6_computer science
Advanced java practical semester 6_computer science
 
Web 5 | JavaScript Events
Web 5 | JavaScript EventsWeb 5 | JavaScript Events
Web 5 | JavaScript Events
 

Destaque

Construindo a maior e melhor loja para as mamães.
Construindo a maior e melhor loja para as mamães.Construindo a maior e melhor loja para as mamães.
Construindo a maior e melhor loja para as mamães.Rakuten Brasil
 
ctividad7 softwareeducativo vivas_aguilarligiaguadalupeA
ctividad7 softwareeducativo vivas_aguilarligiaguadalupeActividad7 softwareeducativo vivas_aguilarligiaguadalupeA
ctividad7 softwareeducativo vivas_aguilarligiaguadalupeAEric Leonardo Aguilar Mendoza
 
3 g门户施小k的总结
3 g门户施小k的总结3 g门户施小k的总结
3 g门户施小k的总结yixieshi
 
Ad01 advertisement ae_electrical_on_regular_basis
Ad01 advertisement ae_electrical_on_regular_basisAd01 advertisement ae_electrical_on_regular_basis
Ad01 advertisement ae_electrical_on_regular_basisDharmendra Dwivedi
 
Lesson plan bi
Lesson plan biLesson plan bi
Lesson plan bicl_teong
 
Tugas softskill harits materi
Tugas softskill harits materiTugas softskill harits materi
Tugas softskill harits materiRietz Wiguna
 
Front cover photoshoots
Front cover photoshootsFront cover photoshoots
Front cover photoshootsjessiekeegan
 
Horror genre presentation
Horror genre presentationHorror genre presentation
Horror genre presentationjessiekeegan
 
第三週 危險情人
第三週 危險情人第三週 危險情人
第三週 危險情人輝 哲
 
Data Visualisation Techniques and Polish Workshop - Visualizing Marathon
Data Visualisation Techniques and Polish Workshop - Visualizing Marathon Data Visualisation Techniques and Polish Workshop - Visualizing Marathon
Data Visualisation Techniques and Polish Workshop - Visualizing Marathon Flink Labs
 
Ciberassetjament
CiberassetjamentCiberassetjament
Ciberassetjamentpixelats
 
Битрикс - как повысить эффективность командной работы
Битрикс - как повысить эффективность командной работыБитрикс - как повысить эффективность командной работы
Битрикс - как повысить эффективность командной работыДенис Мидаков
 
Seattle Bride Magazine F/W11: NW Album
Seattle Bride Magazine F/W11: NW Album Seattle Bride Magazine F/W11: NW Album
Seattle Bride Magazine F/W11: NW Album meganp23
 

Destaque (20)

The Marcos Dumandan Story
The Marcos Dumandan Story The Marcos Dumandan Story
The Marcos Dumandan Story
 
Teste em 1º periodo 16-17 1-
Teste em   1º periodo 16-17  1-Teste em   1º periodo 16-17  1-
Teste em 1º periodo 16-17 1-
 
Communication media
Communication mediaCommunication media
Communication media
 
Construindo a maior e melhor loja para as mamães.
Construindo a maior e melhor loja para as mamães.Construindo a maior e melhor loja para as mamães.
Construindo a maior e melhor loja para as mamães.
 
ctividad7 softwareeducativo vivas_aguilarligiaguadalupeA
ctividad7 softwareeducativo vivas_aguilarligiaguadalupeActividad7 softwareeducativo vivas_aguilarligiaguadalupeA
ctividad7 softwareeducativo vivas_aguilarligiaguadalupeA
 
Dppa pkad
Dppa pkadDppa pkad
Dppa pkad
 
3 g门户施小k的总结
3 g门户施小k的总结3 g门户施小k的总结
3 g门户施小k的总结
 
Ad01 advertisement ae_electrical_on_regular_basis
Ad01 advertisement ae_electrical_on_regular_basisAd01 advertisement ae_electrical_on_regular_basis
Ad01 advertisement ae_electrical_on_regular_basis
 
Lesson plan bi
Lesson plan biLesson plan bi
Lesson plan bi
 
4
44
4
 
Tugas softskill harits materi
Tugas softskill harits materiTugas softskill harits materi
Tugas softskill harits materi
 
Front cover photoshoots
Front cover photoshootsFront cover photoshoots
Front cover photoshoots
 
News item text genre
News item text genreNews item text genre
News item text genre
 
Horror genre presentation
Horror genre presentationHorror genre presentation
Horror genre presentation
 
第三週 危險情人
第三週 危險情人第三週 危險情人
第三週 危險情人
 
Data Visualisation Techniques and Polish Workshop - Visualizing Marathon
Data Visualisation Techniques and Polish Workshop - Visualizing Marathon Data Visualisation Techniques and Polish Workshop - Visualizing Marathon
Data Visualisation Techniques and Polish Workshop - Visualizing Marathon
 
стенгазета3
стенгазета3стенгазета3
стенгазета3
 
Ciberassetjament
CiberassetjamentCiberassetjament
Ciberassetjament
 
Битрикс - как повысить эффективность командной работы
Битрикс - как повысить эффективность командной работыБитрикс - как повысить эффективность командной работы
Битрикс - как повысить эффективность командной работы
 
Seattle Bride Magazine F/W11: NW Album
Seattle Bride Magazine F/W11: NW Album Seattle Bride Magazine F/W11: NW Album
Seattle Bride Magazine F/W11: NW Album
 

Semelhante a ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo

Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecturepostrational
 
CiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklum Ukraine
 
NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020Thodoris Bais
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Igor Moochnick
 
Implementation of GUI Framework part3
Implementation of GUI Framework part3Implementation of GUI Framework part3
Implementation of GUI Framework part3masahiroookubo
 
Introduction to SQLite in Adobe AIR
Introduction to SQLite in Adobe AIRIntroduction to SQLite in Adobe AIR
Introduction to SQLite in Adobe AIRPeter Elst
 
UI5Con presentation on UI5 OData V4 Model
UI5Con presentation on UI5 OData V4 ModelUI5Con presentation on UI5 OData V4 Model
UI5Con presentation on UI5 OData V4 ModelPatric Ksinsik
 
GraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learnedGraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learnedMarcinStachniuk
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?ukdpe
 
Wcf data services
Wcf data servicesWcf data services
Wcf data servicesEyal Vardi
 
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)Pat Patterson
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Servicesukdpe
 
ADO.NET Entity Framework DevDays
ADO.NET Entity Framework DevDaysADO.NET Entity Framework DevDays
ADO.NET Entity Framework DevDaysukdpe
 
Apex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong FoundationsApex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong FoundationsSalesforce Developers
 
Web Technologies - forms and actions
Web Technologies -  forms and actionsWeb Technologies -  forms and actions
Web Technologies - forms and actionsAren Zomorodian
 
GHC Participant Training
GHC Participant TrainingGHC Participant Training
GHC Participant TrainingAidIQ
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Jonas Follesø
 

Semelhante a ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo (20)

Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecture
 
CiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForce
 
NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
Implementation of GUI Framework part3
Implementation of GUI Framework part3Implementation of GUI Framework part3
Implementation of GUI Framework part3
 
Introduction to SQLite in Adobe AIR
Introduction to SQLite in Adobe AIRIntroduction to SQLite in Adobe AIR
Introduction to SQLite in Adobe AIR
 
UI5Con presentation on UI5 OData V4 Model
UI5Con presentation on UI5 OData V4 ModelUI5Con presentation on UI5 OData V4 Model
UI5Con presentation on UI5 OData V4 Model
 
GraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learnedGraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learned
 
Data Product Architectures
Data Product ArchitecturesData Product Architectures
Data Product Architectures
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
 
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
 
Practical OData
Practical ODataPractical OData
Practical OData
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 
B_110500002
B_110500002B_110500002
B_110500002
 
ADO.NET Entity Framework DevDays
ADO.NET Entity Framework DevDaysADO.NET Entity Framework DevDays
ADO.NET Entity Framework DevDays
 
Apex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong FoundationsApex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong Foundations
 
Web Technologies - forms and actions
Web Technologies -  forms and actionsWeb Technologies -  forms and actions
Web Technologies - forms and actions
 
GHC Participant Training
GHC Participant TrainingGHC Participant Training
GHC Participant Training
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
 

Último

How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 

Último (20)

How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 

ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo