Ronnie Saurenmann Principal Architect Microsoft Switzerland.

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
Feature: Identity Management - Login © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Microsoft Dynamics GP 2013 R2 Dashboards © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Payroll and HR Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Ronnie Saurenmann Principal Architect Microsoft Switzerland
Interactivity Navigating a data model Working with large quantities of data Entry Editing and adding data User feedback and validation Presentation.
The Microsoft Technical Roadshow 2007 Advances for Data in VS “Orcas” Mike Taulty Developer & Platform Group Microsoft Ltd
Co- location Mass Market Managed Hosting ISV Hosting.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
 Pablo Castro Software Architect Microsoft Corporation TL08.
Feature: SmartList Usability Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
 Jamie Cool Program Manager Microsoft Corporation.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Connect with life Connect with life
Ronnie Saurenmann Principal Architect Microsoft Switzerland blogs.msdn.com/swiss_dpe_team.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Suggested Item Enhancements – Sales Script and Additional Information © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: Employee Self Service Timecard Entry © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
SQL Server SQL Azure Visual Studio“Quadrant” SQL Server Modeling Services Entity Framework ADO.NET“M”/EDM Data Services …
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”
Why data services? Common challenges when creating rich web applications Creating rich web applications with data services Future scenarios & roadmap.

customer.
1 ADO.NET Data Services Mike Taulty Developer & Platform Group Microsoft Ltd
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
Feature: Void Historical/Open Transaction Updates © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
Windows Azure SQL Data Sync Name Title Microsoft Corporation.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Ken Casada Developer Evangelist Microsoft Switzerland
public class Foo { Bar _bar; public Foo() { this._bar = new Bar(); } public class Foo { IBar _bar; public Foo(IBar barDependency) {

demo User Signs Up Temporary Account is Created with Verification Link Sent User Clicks Link Account is Activated Login.Register(userName,
Возможности Excel 2010, о которых следует знать
ADO.NEXT Advances in Data Access for 2008
Title of Presentation 12/2/2018 3:48 PM
Building event-driven, long-running apps with Windows workflow
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Ward Bell VP Technology IdeaBlade, Inc.
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Feature: Multi-user Editing Allowed in RMA Entry
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
Presentation transcript:

Ronnie Saurenmann Principal Architect Microsoft Switzerland

Objects XML.NET Language Integrated Query C# 3.0VB 9.0Others… Relational LINQ to Objects LINQ to SQL LINQ to XML LINQ to Entities LINQ to DataSets

Application SQL Server LINQ to SQL from c in db.Customers where c.City == "London" select c.CompanyName LINQ Query SQL Query SELECT CompanyName FROM Cust WHERE City = 'London' Rows ObjectsSubmitChanges() DML or SProcs db.Customers.Add(c1); c2.City = "Barcelona"; db.Customers.Remove(c3); INSERT INTO Cust … UPDATE Cust … DELETE FROM Cust …

DataContext Strongly typed database connection Designer Relationships One-to-one, one-to-many Inheritance Custom types Intellisense and compiler validation “Strongly typed query” Super easy to write query

Relationships Pre-defined joins No need to declare the join in the query Ad hoc joins Inner joins and grouped joins Hierarchical navigation

Stored procedures support For Reads For Inserts, Updates and Deletes Custom SQL Queries DataContext1.Execute…. Custom Types Instead of anonymous types (var) Can use the designer or your own class

Change tracking Updates through dynamic SQL DML or stored procedures Ugly: no client side change tracking Optimistic concurrency Using version numbers, time stamps, or previous values Tip: use timestamps when possible Deep save with foreign key order Customers  Orders

Property change notification OnLimitChanging(decimal value) Ugly: watch out deserialization!.SubmitChange notification OnValidate(System.Data.Linq.ChangeAction action) DataContex UpdateCreditCardLimit(CreditCardLimit instance) SubmitChanges(System.Data.Linq.ConflictMod e failureMode)

Optimized with new row_count feature in SQL Server 2005 Page 1 or Page same speed Query stops as soon as it has the right page size (e.g 10 rows) Only the page size (e.g. 10 rows ) is transferred from the DB Falls back to a simpler version on SQL 2000 ASP.NET LinqDataSource Control Automatically done Custom made with “skip()” and “take()”

Change tracking in stateless environment ASP.NET Understand when query are executed and how Lazy vs. Eager Loading

DataContext is in charge for the Change Tracking DataContext is not serializable It cannot be put on Session state (anyway it would be bad) Change tracking should be stateless Manually store in ViewState original values or better timestamp LinqDataSource does it automatically Stores original values in ViewState

Page1 instance DataContex instance DataContex instance Response Submit Browser Request Page1 new instance New DataContex instance New DataContex instance Changes to the “Customer” object done on the 2 nd request Need to send back original and new values Changes to the “Customer” object done on the 2 nd request Need to send back original and new values

Lazy vs. Eager Loading Ugly: Eager loading at DataContext only affects all queries! Understanding when query are executed Query composition In memory query Good: for caching scenario

No disconnected client side change tracking! For the moment need to build your own Real drawback for multi tier architecture

Service instance DataContex instance DataContex instance Response SaveData WPF / WinForm / Silverlight GetData Service new instance New DataContex instance New DataContex instance Response Changes done on the client “Customer” object Need to manually send back original values Changes done on the client “Customer” object Need to manually send back original values

Works only with SQL Server Very hard to write a provider Competition from ADO.NET Entity Framework Will have other providers like Oracle Will not have multi tier change tracking support neither Shipping 2H 2008

The Good Easy to use Very powerful for read operations Absolutely recommended for 2-tier app Good for most ASP.NET architectures Where Data Access Layer and Presentation Layer are in the same process Released

The Bad The Challenging Change tracking in stateless environment (ASP.NET) Understand when query are executed and how Lazy vs. Eager Loading The Ugly Doesn't have multi tier change tracking support ADO.NET Entity Framework is an alternative Works only with SQL Server

Use the SQL Profiler all the time!!

© 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.