DEV313: Microsoft ADO.NET Entity Framework 4 and Beyond

Download Report

Transcript DEV313: Microsoft ADO.NET Entity Framework 4 and Beyond

DEV313
[email protected]
[email protected]
Performance
MVC
Unit
Testing
Transactions
Repository Pattern
MVVM
Separation of
Concerns
N-Tier
Change
Tracking
Concurrency
Unit of Work
Dependency
Injection
TDD
Entity Framework
SQL
Azure
SQL
Server
…
Optimizing EF Startup
Minimizing Trips to Database
Query Caching
Customizing SQL
Change Tracking
Projects
Classes
Lines of Code
75
1,224
224,753
Tables
Views
Stored Procedures
Table-Valued Functions
Scalar-Valued Functions
Lines of T-SQL Code
551
26
1,789
12
320
512,568
www.tinyurl.com/efproviders
Oracle Data
Provider for
.NET
Devart
MySQL
Connector/NET
Progress
DataDirect
Connect
VistaDB
OpenLink
Software
IBM (DB2,
Informix, U2)
Sybase SQL
Anywhere
Sybase
Adaptive Server
Enterprise
Phoenix
Software
Solutions
SQL Compact
Synergex
www.msdn.com/data/ef
http://ef.mswish.net
http://tinyurl.com/efforums
http://blogs.msdn.com/adonet
http://blogs.msdn.com/efdesign
http://www.microsoft.com/visualstudio
http://www.microsoft.com/visualstudio/en-us/lightswitch
http://www.microsoft.com/expression/
http://blogs.msdn.com/b/somasegar/
http://blogs.msdn.com/b/bharry/
http://www.microsoft.com/sqlserver/en/us/default.aspx
http://www.facebook.com/visualstudio
http://northamerica.msteched.com
www.microsoft.com/teched
www.microsoft.com/learning
http://microsoft.com/technet
http://microsoft.com/msdn
Visual Studio
Entity Framework
WCF Data Services
ADO.NET
SQL
Azure
SQL
Server
…
Optimizing EF Startup
Minimizing Trips to Database
Query Caching
Customizing SQL
• View Generation impacts application startup (first query)
• Use Precompiled views
• Automatic Lazy Load is default
• Turn off Lazy Loading/use Eager Loading if required
• Watch for the over-use of Eager Loading
• Compilation is expensive the first time
• Use compiled LINQ queries for frequently used queries
• Use Read stored procedures where appropriate
• Use database Views where appropriate
• Use ExecuteStoreQuery/Command when desired
• Disable for Read Only entities
Change Tracking