SlideShare a Scribd company logo
 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.

More Related Content

What's hot

Oracle business intelligence publisher – developer training
Oracle business intelligence publisher – developer trainingOracle business intelligence publisher – developer training
Oracle business intelligence publisher – developer training
itprofessionals network
 
S313431 JPA 2.0 Overview
S313431 JPA 2.0 OverviewS313431 JPA 2.0 Overview
S313431 JPA 2.0 Overview
Ludovic Champenois
 
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
Denis Voituron
 
Asp.net mvc training
Asp.net mvc trainingAsp.net mvc training
Asp.net mvc training
icubesystem
 
Web 2 | CSS - Cascading Style Sheets
Web 2 | CSS - Cascading Style SheetsWeb 2 | CSS - Cascading Style Sheets
Web 2 | CSS - Cascading Style Sheets
Mohammad 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 blog
Pierre Sudron
 
Web 6 | JavaScript DOM
Web 6 | JavaScript DOMWeb 6 | JavaScript DOM
Web 6 | JavaScript DOM
Mohammad Imam Hossain
 
The Magic of WPF & MVVM
The Magic of WPF & MVVMThe Magic of WPF & MVVM
The Magic of WPF & MVVM
Abhishek Sur
 
My Portfolio
My PortfolioMy Portfolio
My Portfolio
aemartin4
 
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 Logic
Vladik Khononov
 
DOM and Events
DOM and EventsDOM and Events
DOM and Events
Julie Iskander
 
Java script
Java scriptJava script
Java script
Yoga Raja
 
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
Mohamed Mosaad
 
An introduction into Spring Data
An introduction into Spring DataAn introduction into Spring Data
An introduction into Spring Data
Oliver 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 science
Niraj Bharambe
 
Web 5 | JavaScript Events
Web 5 | JavaScript EventsWeb 5 | JavaScript Events
Web 5 | JavaScript Events
Mohammad Imam Hossain
 

What's hot (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
 

Viewers also liked

The Marcos Dumandan Story
The Marcos Dumandan Story The Marcos Dumandan Story
The Marcos Dumandan Story
Iligan Agri-Rainbow Producers Cooperative
 
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-
isabel ferreira santos
 
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
 
Dppa pkad
Dppa pkadDppa pkad
Dppa pkad
Hendra Sirait
 
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
 

Viewers also liked (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
 

Similar to 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 architecture
postrational
 
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 2020
Thodoris 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 part3
masahiroookubo
 
Introduction to SQLite in Adobe AIR
Introduction to SQLite in Adobe AIRIntroduction to SQLite in Adobe AIR
Introduction to SQLite in Adobe AIR
Peter 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 Model
Patric 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 learned
MarcinStachniuk
 
Data Product Architectures
Data Product ArchitecturesData Product Architectures
Data Product Architectures
Benjamin Bengfort
 
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 services
Eyal 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
 
Practical OData
Practical ODataPractical OData
Practical OData
Vagif Abilov
 
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
ukdpe
 
ADO.NET Entity Framework DevDays
ADO.NET Entity Framework DevDaysADO.NET Entity Framework DevDays
ADO.NET Entity Framework DevDays
ukdpe
 
Apex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong FoundationsApex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong Foundations
Salesforce 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 2008
Jonas Follesø
 

Similar to 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
 

Recently uploaded

The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
Krisztián Száraz
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
chanes7
 
JEE1_This_section_contains_FOUR_ questions
JEE1_This_section_contains_FOUR_ questionsJEE1_This_section_contains_FOUR_ questions
JEE1_This_section_contains_FOUR_ questions
ShivajiThube2
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
kimdan468
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
TechSoup
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 

Recently uploaded (20)

The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
 
JEE1_This_section_contains_FOUR_ questions
JEE1_This_section_contains_FOUR_ questionsJEE1_This_section_contains_FOUR_ questions
JEE1_This_section_contains_FOUR_ questions
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 

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