SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Shyam Pather                    Sam Druker
Development Lead       Product Unit Manager
Data Programmability    Data Progammability
Quick                 Clean
            Rapid
                         Easy
Instant Gratification
  Iterative         Intuitive
Hierarchical data binding
•
    Insert/Update/Delete
•
    No generated code
•
    No configuration
•                               Jasper National Park
Shyam Pather
Development Lead               Crowfoot Glacier
Data Programmability   Icefields Parkway, near Jasper
                                National Park
Intro to Project Codename quot;Jasperquot; – Dynamic ADO.NET
Jasper Technical Walk-through
ASP.NET Development with the Jasper AutoDataSource
Extending Jasper Data Classes – Business Logic
Beyond Demo-ware: Jasper and Real-World Databases
Project goal
 Enable rapid, iterative development of
 data-serving applications
Target scenarios
 Forms over data
 Interactively exploring data with code
                                          Jasper, AB
Key features
 Data classes inferred at runtime
 Automatic data binding
YES                       NO

Point at a database and
      begin coding
                          Excessive configuration
 One simple way to do
                            Heavyweight tools
        things
                          Generated source files
 Works with real-world
     databases
CTP available today
 http://msdn2.microsoft.com/data/bb419139.aspx         ADO.NET
                                                        Team


We're here to get your feedback
                                                      Jasper
Jasper is an incubation project                       Design     ASP.NET
                                            VB Team
                                                                  Team


                                                       Team
                                                        CLR
                                                        Team
Jasper provides a programming interface to your data
 API surface tailored for dynamic language development
Data Access and Data Binding
 Without generated source code or complex configuration


      Query                         Object API
                   Jasper
      Update                        UI Binding
O/R Framework + API                    ASP.NET       WinForms/WPF
                                    AutoDataSource    AutoBinder
 Data classes inferred at runtime
Automatic UI Binding                          Jasper API
 ASP.NET AutoDataSource
                                          Runtime Data Class
 AutoBinder for WinForms/WPF                  Generator
Built on ADO.NET Entity Framework           ADO.NET Entity
                                              Framework
 Rich Mapping Engine
 Entity SQL Query Pipeline
 .NET Data Providers
ADO.NET Capabilities                           EDM Concepts

                                             •   Provides a higher level
•   .NET Object API for manipulating data
                                                 abstraction for data in the store
    in a store
•   Mapping engine constructs Entities and
    Relationships from tables and keys       •   Successor to the core relational
                                                 data model
•   eSQL and LINQ Query Pipeline
•   Providers to various database stores
                                             •   Adds formal relationships,
•   Management of metadata for flexible
                                                 inheritance, and composition
    deployment
DynamicContext Class
    Configured with a connection string
    Serves as an overall context for the database
    Exposes properties corresponding to the database tables
    Does change tracking and identity resolution
Dim connectionString As String = quot;...quot;

Dim context
context = DynamicContext.CreateDynamicContext(connectionString)

...context.Stories ... context.Submitters etc...
Query class
     Provides Entity SQL and LINQ query capabilities
'LINQ Query
storiesQuery = From t In CType(My.DynamicContext.Tags, IQuery) _
               Where t.TagName = tag _
               Select t.Story _
               Distinct

'Direct Entity SQL Query
Dim results
results = My.DynamicContext.ExecuteDirectQuery(quot;SELECT VALUE s
                                                FROM DataAccessCityModel.Stories As squot;)
'Entity SQL Query with query-builder methods
storiesQuery = My.DynamicContext.Stories.Where(quot;it.Topic.TopicId = @TopicId quot;, _
   New ObjectParameter() {New ObjectParameter(quot;TopicIdquot;, topicId)})
Data Classes
 Represent the entities in the database
 Reflect database schema by default
DynamicContext creates data classes at runtime
 Usable at compile-time via late binding
 Builds an Entity Data Model with relationships from Database
 Schema
 Infers classes from Entity Data Model
                           Bottle              Winery




                                    Supplier




        Database Schema                                 Data Classes
                              Entity Data Model
AutoDataSource component
 A data source control that uses Jasper for data access
 Automatically configures data binding of web controls
  Naming conventions determine bindings
 Can bind contols to
  Entity Sets
  Relationship navigation properties
  Arbirtrary queries
 Supports read and write (insert, update, delete) operations
Creating the AutoDataSource: Markup
<jasper:AutoDataSource ID=quot;AutoDataSource1quot; runat=quot;serverquot; />

Creating the DynamicContext: Code-behind
Dim connectionString As String = quot;...quot;

Dim context
context = DynamicContext.CreateDynamicContext(connectionString)

Creating the data-bound controls: Markup
<asp:ListBox ID=quot;CategoryNamequot; runat=quot;server” />
…
<asp:DetailsView ID=quot;Categories_Productsquot; runat=quot;serverquot; … />
Shyam Pather
Development Lead
Data Programmability            Horned Sheep at
                       Miette Hot Springs (near Jasper, AB)
Implement GetProperty and SetProperty methods
 Naming convention: data class generator makes property getters/setters call
 these methods
 Access to all data class properties
         Public Class Story

            Public Function SetDescription(ByVal desc As String) As String

                'Truncate the description if too long
                If desc.Length > 200 Then
                    Dim i = desc.LastIndexOf(quot; quot;)
                    Return desc.Substring(0, i + 1) + quot;...quot;
                End If
                Return desc

             End Function
         End Class
How do we expose type information at design time?
Requires extension of current IntelliSense system.
We are working with language teams on this!
Shyam Pather
Development Lead
Data Programmability      Athabasca Falls
                       (Jasper National Park)
Dynamic Data Classes



                                                   Custom Data
            Default Data Model
                                                      Model


                                                  Define Custom
      No                     Customize
                                                  Data Model and
 Customization             Naming Service
                                                     Mapping




Simple Database           Simple Database        Complex Database
                     with Unconventional Names
Supports custom naming conventions and pluralization
rules
Dim ns As NameService = New NameService()
ns.BaseNameService = NameService.Default

ns.ClassNameMap.AddNameMapping(quot;P2NWEMPquot;, quot;Employeesquot;)
ns.ClassNameMap.AddPrefixMapping(quot;avw_quot;)
ns.ClassNameMap.AddNameRegexMapping(quot;Empzquot;, quot;Employeequot;)

Dim context =
DynamicContext.CreateDynamicContext(connectionString, ns)
Rich ADO.NET Entity Framework Mapping Engine
supports:
 Renaming
 De-normalization
 Horizontal and vertical partitioning
 Stored-procedure access
Jasper API can be used over any mappable Entity Data
Model
Pyramid Lake (Jasper National Park)
We are planning a second CTP before the end of '07
Try out Jasper in the Mix Sandbox
Download Jasper and try it with your own applications
  http://msdn2.microsoft.com/data/bb419139.aspx
Please give us feedback!
  Jasper Forum:
  http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1556&SiteID=1
  Andy Conrad’s blog: http://blogs.msdn.com/aconrad/
  Shyam Pather’s blog: http://pather.net/shyam/
  Carl Perry’s blog: http://blogs.msdn.com/cperry/
  ADO.NET Team blog: http://blogs.msdn.com/adonet/
© 2007 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.

Weitere ähnliche Inhalte

Was ist angesagt?

How Concur uses Big Data to get you to Tableau Conference On Time
How Concur uses Big Data to get you to Tableau Conference On TimeHow Concur uses Big Data to get you to Tableau Conference On Time
How Concur uses Big Data to get you to Tableau Conference On TimeDenny Lee
 
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksOracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksAmazon Web Services
 
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scala
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scalaSunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scala
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scalaMopuru Babu
 
Migrating Oracle to Aurora PostgreSQL Utilizing AWS Database Migration Servic...
Migrating Oracle to Aurora PostgreSQL Utilizing AWS Database Migration Servic...Migrating Oracle to Aurora PostgreSQL Utilizing AWS Database Migration Servic...
Migrating Oracle to Aurora PostgreSQL Utilizing AWS Database Migration Servic...Amazon Web Services
 
Apache Spark Tutorial | Spark Tutorial for Beginners | Apache Spark Training ...
Apache Spark Tutorial | Spark Tutorial for Beginners | Apache Spark Training ...Apache Spark Tutorial | Spark Tutorial for Beginners | Apache Spark Training ...
Apache Spark Tutorial | Spark Tutorial for Beginners | Apache Spark Training ...Edureka!
 
Azure data bricks by Eugene Polonichko
Azure data bricks by Eugene PolonichkoAzure data bricks by Eugene Polonichko
Azure data bricks by Eugene PolonichkoAlex Tumanoff
 
Azure Cosmos DB + Gremlin API in Action
Azure Cosmos DB + Gremlin API in ActionAzure Cosmos DB + Gremlin API in Action
Azure Cosmos DB + Gremlin API in ActionDenys Chamberland
 
Apache Spark Architecture | Apache Spark Architecture Explained | Apache Spar...
Apache Spark Architecture | Apache Spark Architecture Explained | Apache Spar...Apache Spark Architecture | Apache Spark Architecture Explained | Apache Spar...
Apache Spark Architecture | Apache Spark Architecture Explained | Apache Spar...Simplilearn
 
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWS
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWSAWS April 2016 Webinar Series - Best Practices for Apache Spark on AWS
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWSAmazon Web Services
 
Tackle Your Dark Data Challenge with AWS Glue - AWS Online Tech Talks
Tackle Your Dark Data  Challenge with AWS Glue - AWS Online Tech TalksTackle Your Dark Data  Challenge with AWS Glue - AWS Online Tech Talks
Tackle Your Dark Data Challenge with AWS Glue - AWS Online Tech TalksAmazon Web Services
 
Oracle to Amazon Aurora Migration, Step by Step (DAT435-R1) - AWS re:Invent 2018
Oracle to Amazon Aurora Migration, Step by Step (DAT435-R1) - AWS re:Invent 2018Oracle to Amazon Aurora Migration, Step by Step (DAT435-R1) - AWS re:Invent 2018
Oracle to Amazon Aurora Migration, Step by Step (DAT435-R1) - AWS re:Invent 2018Amazon Web Services
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overviewJames Serra
 
Hadoop and its Ecosystem Components in Action
Hadoop and its Ecosystem Components in ActionHadoop and its Ecosystem Components in Action
Hadoop and its Ecosystem Components in ActionAndrew Brust
 
Building Serverless ETL Pipelines with AWS Glue
Building Serverless ETL Pipelines with AWS GlueBuilding Serverless ETL Pipelines with AWS Glue
Building Serverless ETL Pipelines with AWS GlueAmazon Web Services
 
Running cost effective big data workloads with Azure Synapse and Azure Data L...
Running cost effective big data workloads with Azure Synapse and Azure Data L...Running cost effective big data workloads with Azure Synapse and Azure Data L...
Running cost effective big data workloads with Azure Synapse and Azure Data L...Michael Rys
 
Design for Scale - Building Real Time, High Performing Marketing Technology p...
Design for Scale - Building Real Time, High Performing Marketing Technology p...Design for Scale - Building Real Time, High Performing Marketing Technology p...
Design for Scale - Building Real Time, High Performing Marketing Technology p...Amazon Web Services
 
Going Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS GlueGoing Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS GlueMichael Rainey
 
PyconZA19-Distributed-workloads-challenges-with-PySpark-and-Airflow
PyconZA19-Distributed-workloads-challenges-with-PySpark-and-AirflowPyconZA19-Distributed-workloads-challenges-with-PySpark-and-Airflow
PyconZA19-Distributed-workloads-challenges-with-PySpark-and-AirflowChetan Khatri
 
Apache Spark e AWS Glue
Apache Spark e AWS GlueApache Spark e AWS Glue
Apache Spark e AWS GlueLaercio Serra
 

Was ist angesagt? (20)

How Concur uses Big Data to get you to Tableau Conference On Time
How Concur uses Big Data to get you to Tableau Conference On TimeHow Concur uses Big Data to get you to Tableau Conference On Time
How Concur uses Big Data to get you to Tableau Conference On Time
 
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksOracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
 
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scala
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scalaSunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scala
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scala
 
Introducing DynamoDB
Introducing DynamoDBIntroducing DynamoDB
Introducing DynamoDB
 
Migrating Oracle to Aurora PostgreSQL Utilizing AWS Database Migration Servic...
Migrating Oracle to Aurora PostgreSQL Utilizing AWS Database Migration Servic...Migrating Oracle to Aurora PostgreSQL Utilizing AWS Database Migration Servic...
Migrating Oracle to Aurora PostgreSQL Utilizing AWS Database Migration Servic...
 
Apache Spark Tutorial | Spark Tutorial for Beginners | Apache Spark Training ...
Apache Spark Tutorial | Spark Tutorial for Beginners | Apache Spark Training ...Apache Spark Tutorial | Spark Tutorial for Beginners | Apache Spark Training ...
Apache Spark Tutorial | Spark Tutorial for Beginners | Apache Spark Training ...
 
Azure data bricks by Eugene Polonichko
Azure data bricks by Eugene PolonichkoAzure data bricks by Eugene Polonichko
Azure data bricks by Eugene Polonichko
 
Azure Cosmos DB + Gremlin API in Action
Azure Cosmos DB + Gremlin API in ActionAzure Cosmos DB + Gremlin API in Action
Azure Cosmos DB + Gremlin API in Action
 
Apache Spark Architecture | Apache Spark Architecture Explained | Apache Spar...
Apache Spark Architecture | Apache Spark Architecture Explained | Apache Spar...Apache Spark Architecture | Apache Spark Architecture Explained | Apache Spar...
Apache Spark Architecture | Apache Spark Architecture Explained | Apache Spar...
 
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWS
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWSAWS April 2016 Webinar Series - Best Practices for Apache Spark on AWS
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWS
 
Tackle Your Dark Data Challenge with AWS Glue - AWS Online Tech Talks
Tackle Your Dark Data  Challenge with AWS Glue - AWS Online Tech TalksTackle Your Dark Data  Challenge with AWS Glue - AWS Online Tech Talks
Tackle Your Dark Data Challenge with AWS Glue - AWS Online Tech Talks
 
Oracle to Amazon Aurora Migration, Step by Step (DAT435-R1) - AWS re:Invent 2018
Oracle to Amazon Aurora Migration, Step by Step (DAT435-R1) - AWS re:Invent 2018Oracle to Amazon Aurora Migration, Step by Step (DAT435-R1) - AWS re:Invent 2018
Oracle to Amazon Aurora Migration, Step by Step (DAT435-R1) - AWS re:Invent 2018
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overview
 
Hadoop and its Ecosystem Components in Action
Hadoop and its Ecosystem Components in ActionHadoop and its Ecosystem Components in Action
Hadoop and its Ecosystem Components in Action
 
Building Serverless ETL Pipelines with AWS Glue
Building Serverless ETL Pipelines with AWS GlueBuilding Serverless ETL Pipelines with AWS Glue
Building Serverless ETL Pipelines with AWS Glue
 
Running cost effective big data workloads with Azure Synapse and Azure Data L...
Running cost effective big data workloads with Azure Synapse and Azure Data L...Running cost effective big data workloads with Azure Synapse and Azure Data L...
Running cost effective big data workloads with Azure Synapse and Azure Data L...
 
Design for Scale - Building Real Time, High Performing Marketing Technology p...
Design for Scale - Building Real Time, High Performing Marketing Technology p...Design for Scale - Building Real Time, High Performing Marketing Technology p...
Design for Scale - Building Real Time, High Performing Marketing Technology p...
 
Going Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS GlueGoing Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS Glue
 
PyconZA19-Distributed-workloads-challenges-with-PySpark-and-Airflow
PyconZA19-Distributed-workloads-challenges-with-PySpark-and-AirflowPyconZA19-Distributed-workloads-challenges-with-PySpark-and-Airflow
PyconZA19-Distributed-workloads-challenges-with-PySpark-and-Airflow
 
Apache Spark e AWS Glue
Apache Spark e AWS GlueApache Spark e AWS Glue
Apache Spark e AWS Glue
 

Andere mochten auch

Take Your Content Mobile with Windows Mobile, Microsoft Expression, and Zumobi
Take Your Content Mobile with Windows Mobile, Microsoft Expression, and ZumobiTake Your Content Mobile with Windows Mobile, Microsoft Expression, and Zumobi
Take Your Content Mobile with Windows Mobile, Microsoft Expression, and Zumobigoodfriday
 
Developing with Windows Live
Developing with Windows LiveDeveloping with Windows Live
Developing with Windows Livegoodfriday
 
Microsoft ASP.NET 4.0 : What's Next?
Microsoft ASP.NET 4.0 : What's Next?Microsoft ASP.NET 4.0 : What's Next?
Microsoft ASP.NET 4.0 : What's Next?goodfriday
 
Web Development Using Microsoft Visual Studio: Now and in the Future
Web Development Using Microsoft Visual Studio: Now and in the FutureWeb Development Using Microsoft Visual Studio: Now and in the Future
Web Development Using Microsoft Visual Studio: Now and in the Futuregoodfriday
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Servicesgoodfriday
 
Mesh-Enabled Web Applications
Mesh-Enabled Web ApplicationsMesh-Enabled Web Applications
Mesh-Enabled Web Applicationsgoodfriday
 
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...goodfriday
 
09 03 22 easter
09 03 22 easter09 03 22 easter
09 03 22 eastergoodfriday
 
Dynamic Web Pages Ch 1 V1.0
Dynamic Web Pages Ch 1 V1.0Dynamic Web Pages Ch 1 V1.0
Dynamic Web Pages Ch 1 V1.0Cathie101
 
Dynamic Web Pages Ch 8 V1.0
Dynamic Web Pages Ch 8 V1.0Dynamic Web Pages Ch 8 V1.0
Dynamic Web Pages Ch 8 V1.0Cathie101
 
Responsive Web Design - Introduction & Workflow Overview
Responsive Web Design - Introduction & Workflow OverviewResponsive Web Design - Introduction & Workflow Overview
Responsive Web Design - Introduction & Workflow OverviewAidan Foster
 
Dynamic Web Pages Ch 4 V1.0
Dynamic Web Pages Ch 4 V1.0Dynamic Web Pages Ch 4 V1.0
Dynamic Web Pages Ch 4 V1.0Cathie101
 
Occvcharts
OccvchartsOccvcharts
OccvchartsOCPP
 
Introduction to web design
Introduction to web designIntroduction to web design
Introduction to web designStephen Pollard
 
Dynamic Web Pages Ch 6 V1.0
Dynamic Web Pages Ch 6 V1.0Dynamic Web Pages Ch 6 V1.0
Dynamic Web Pages Ch 6 V1.0Cathie101
 
Less is more - 10 principles of web design
Less is more - 10 principles of web designLess is more - 10 principles of web design
Less is more - 10 principles of web designDexa Mexa
 

Andere mochten auch (20)

Take Your Content Mobile with Windows Mobile, Microsoft Expression, and Zumobi
Take Your Content Mobile with Windows Mobile, Microsoft Expression, and ZumobiTake Your Content Mobile with Windows Mobile, Microsoft Expression, and Zumobi
Take Your Content Mobile with Windows Mobile, Microsoft Expression, and Zumobi
 
Developing with Windows Live
Developing with Windows LiveDeveloping with Windows Live
Developing with Windows Live
 
Microsoft ASP.NET 4.0 : What's Next?
Microsoft ASP.NET 4.0 : What's Next?Microsoft ASP.NET 4.0 : What's Next?
Microsoft ASP.NET 4.0 : What's Next?
 
Web Development Using Microsoft Visual Studio: Now and in the Future
Web Development Using Microsoft Visual Studio: Now and in the FutureWeb Development Using Microsoft Visual Studio: Now and in the Future
Web Development Using Microsoft Visual Studio: Now and in the Future
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
Mesh-Enabled Web Applications
Mesh-Enabled Web ApplicationsMesh-Enabled Web Applications
Mesh-Enabled Web Applications
 
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...
 
April2009
April2009April2009
April2009
 
09 03 22 easter
09 03 22 easter09 03 22 easter
09 03 22 easter
 
Dynamic Web Pages Ch 1 V1.0
Dynamic Web Pages Ch 1 V1.0Dynamic Web Pages Ch 1 V1.0
Dynamic Web Pages Ch 1 V1.0
 
Dynamic Web Pages Ch 8 V1.0
Dynamic Web Pages Ch 8 V1.0Dynamic Web Pages Ch 8 V1.0
Dynamic Web Pages Ch 8 V1.0
 
Responsive Web Design - Introduction & Workflow Overview
Responsive Web Design - Introduction & Workflow OverviewResponsive Web Design - Introduction & Workflow Overview
Responsive Web Design - Introduction & Workflow Overview
 
Dynamic Web Pages Ch 4 V1.0
Dynamic Web Pages Ch 4 V1.0Dynamic Web Pages Ch 4 V1.0
Dynamic Web Pages Ch 4 V1.0
 
Dynamic Web
Dynamic WebDynamic Web
Dynamic Web
 
Occvcharts
OccvchartsOccvcharts
Occvcharts
 
Introduction to web design
Introduction to web designIntroduction to web design
Introduction to web design
 
Dynamic Web Pages Ch 6 V1.0
Dynamic Web Pages Ch 6 V1.0Dynamic Web Pages Ch 6 V1.0
Dynamic Web Pages Ch 6 V1.0
 
Introduction to web design
Introduction to web designIntroduction to web design
Introduction to web design
 
Less is more - 10 principles of web design
Less is more - 10 principles of web designLess is more - 10 principles of web design
Less is more - 10 principles of web design
 
Intro to Dynamic Web Pages
Intro to Dynamic Web PagesIntro to Dynamic Web Pages
Intro to Dynamic Web Pages
 

Ähnlich wie Rapidly Building Data Driven Web Pages with Dynamic ADO.NET

Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingThorsten Kamann
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?ukdpe
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDBBrian Ritchie
 
Best Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkBest Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkDatabricks
 
Data analytics master class: predict hotel revenue
Data analytics master class: predict hotel revenueData analytics master class: predict hotel revenue
Data analytics master class: predict hotel revenueKris Peeters
 
IaaS, PaaS, and DevOps for Data Scientist
IaaS, PaaS, and DevOps for Data ScientistIaaS, PaaS, and DevOps for Data Scientist
IaaS, PaaS, and DevOps for Data ScientistDmitry Petukhov
 
Seeding The Cloud
Seeding The CloudSeeding The Cloud
Seeding The CloudTed Leung
 
Hamburg Data Science Meetup - MLOps with a Feature Store
Hamburg Data Science Meetup - MLOps with a Feature StoreHamburg Data Science Meetup - MLOps with a Feature Store
Hamburg Data Science Meetup - MLOps with a Feature StoreMoritz Meister
 
AWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:CapAWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:CapIan Massingham
 
AWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:CapAWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:CapAdrian Hornsby
 
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Databricks
 
Data Mining for Developers
Data Mining for DevelopersData Mining for Developers
Data Mining for Developersllangit
 
High Performance Jdbc
High Performance JdbcHigh Performance Jdbc
High Performance JdbcSam Pattsin
 
Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An IntroductionThorsten Kamann
 
IndyCodeCamp SDS May 16th 2009
IndyCodeCamp SDS May 16th 2009IndyCodeCamp SDS May 16th 2009
IndyCodeCamp SDS May 16th 2009Aaron King
 
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...Michael Rys
 
Overview Of .Net 4.0 Sanjay Vyas
Overview Of .Net 4.0   Sanjay VyasOverview Of .Net 4.0   Sanjay Vyas
Overview Of .Net 4.0 Sanjay Vyasrsnarayanan
 
OWB11gR2 - Extending ETL
OWB11gR2 - Extending ETL OWB11gR2 - Extending ETL
OWB11gR2 - Extending ETL Suraj Bang
 

Ähnlich wie Rapidly Building Data Driven Web Pages with Dynamic ADO.NET (20)

Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte Frühling
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDB
 
Best Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkBest Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache Spark
 
Data analytics master class: predict hotel revenue
Data analytics master class: predict hotel revenueData analytics master class: predict hotel revenue
Data analytics master class: predict hotel revenue
 
IaaS, PaaS, and DevOps for Data Scientist
IaaS, PaaS, and DevOps for Data ScientistIaaS, PaaS, and DevOps for Data Scientist
IaaS, PaaS, and DevOps for Data Scientist
 
Yu's resume
Yu's resumeYu's resume
Yu's resume
 
20170126 big data processing
20170126 big data processing20170126 big data processing
20170126 big data processing
 
Seeding The Cloud
Seeding The CloudSeeding The Cloud
Seeding The Cloud
 
Hamburg Data Science Meetup - MLOps with a Feature Store
Hamburg Data Science Meetup - MLOps with a Feature StoreHamburg Data Science Meetup - MLOps with a Feature Store
Hamburg Data Science Meetup - MLOps with a Feature Store
 
AWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:CapAWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:Cap
 
AWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:CapAWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:Cap
 
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
 
Data Mining for Developers
Data Mining for DevelopersData Mining for Developers
Data Mining for Developers
 
High Performance Jdbc
High Performance JdbcHigh Performance Jdbc
High Performance Jdbc
 
Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An Introduction
 
IndyCodeCamp SDS May 16th 2009
IndyCodeCamp SDS May 16th 2009IndyCodeCamp SDS May 16th 2009
IndyCodeCamp SDS May 16th 2009
 
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
 
Overview Of .Net 4.0 Sanjay Vyas
Overview Of .Net 4.0   Sanjay VyasOverview Of .Net 4.0   Sanjay Vyas
Overview Of .Net 4.0 Sanjay Vyas
 
OWB11gR2 - Extending ETL
OWB11gR2 - Extending ETL OWB11gR2 - Extending ETL
OWB11gR2 - Extending ETL
 

Mehr von goodfriday

Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052goodfriday
 
Holy Week Easter 2009
Holy Week Easter 2009Holy Week Easter 2009
Holy Week Easter 2009goodfriday
 
Holt Park Easter 09 Swim
Holt Park Easter 09 SwimHolt Park Easter 09 Swim
Holt Park Easter 09 Swimgoodfriday
 
Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092goodfriday
 
Eastercard2009
Eastercard2009Eastercard2009
Eastercard2009goodfriday
 
Easterservices2009
Easterservices2009Easterservices2009
Easterservices2009goodfriday
 
Bulletin Current
Bulletin CurrentBulletin Current
Bulletin Currentgoodfriday
 
March 2009 Newsletter
March 2009 NewsletterMarch 2009 Newsletter
March 2009 Newslettergoodfriday
 
Lent Easter 2009
Lent Easter 2009Lent Easter 2009
Lent Easter 2009goodfriday
 
Easterpowersports09
Easterpowersports09Easterpowersports09
Easterpowersports09goodfriday
 
Easter Trading 09
Easter Trading 09Easter Trading 09
Easter Trading 09goodfriday
 
Easter Brochure 2009
Easter Brochure 2009Easter Brochure 2009
Easter Brochure 2009goodfriday
 
March April 2009 Calendar
March April 2009 CalendarMarch April 2009 Calendar
March April 2009 Calendargoodfriday
 
Easter 2009 Advertising
Easter 2009 AdvertisingEaster 2009 Advertising
Easter 2009 Advertisinggoodfriday
 

Mehr von goodfriday (20)

Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052
 
Triunemar05
Triunemar05Triunemar05
Triunemar05
 
Holy Week Easter 2009
Holy Week Easter 2009Holy Week Easter 2009
Holy Week Easter 2009
 
Holt Park Easter 09 Swim
Holt Park Easter 09 SwimHolt Park Easter 09 Swim
Holt Park Easter 09 Swim
 
Easter Letter
Easter LetterEaster Letter
Easter Letter
 
Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092
 
Eastercard2009
Eastercard2009Eastercard2009
Eastercard2009
 
Easterservices2009
Easterservices2009Easterservices2009
Easterservices2009
 
Bulletin Current
Bulletin CurrentBulletin Current
Bulletin Current
 
Easter2009
Easter2009Easter2009
Easter2009
 
Bulletin
BulletinBulletin
Bulletin
 
March 2009 Newsletter
March 2009 NewsletterMarch 2009 Newsletter
March 2009 Newsletter
 
Mar 29 2009
Mar 29 2009Mar 29 2009
Mar 29 2009
 
Lent Easter 2009
Lent Easter 2009Lent Easter 2009
Lent Easter 2009
 
Easterpowersports09
Easterpowersports09Easterpowersports09
Easterpowersports09
 
Easter Trading 09
Easter Trading 09Easter Trading 09
Easter Trading 09
 
Easter Brochure 2009
Easter Brochure 2009Easter Brochure 2009
Easter Brochure 2009
 
March April 2009 Calendar
March April 2009 CalendarMarch April 2009 Calendar
March April 2009 Calendar
 
Easter 2009 Advertising
Easter 2009 AdvertisingEaster 2009 Advertising
Easter 2009 Advertising
 
Vc12.04.09
Vc12.04.09Vc12.04.09
Vc12.04.09
 

Kürzlich hochgeladen

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Kürzlich hochgeladen (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Rapidly Building Data Driven Web Pages with Dynamic ADO.NET

  • 1.
  • 2. Shyam Pather Sam Druker Development Lead Product Unit Manager Data Programmability Data Progammability
  • 3. Quick Clean Rapid Easy Instant Gratification Iterative Intuitive
  • 4. Hierarchical data binding • Insert/Update/Delete • No generated code • No configuration • Jasper National Park
  • 5. Shyam Pather Development Lead Crowfoot Glacier Data Programmability Icefields Parkway, near Jasper National Park
  • 6. Intro to Project Codename quot;Jasperquot; – Dynamic ADO.NET Jasper Technical Walk-through ASP.NET Development with the Jasper AutoDataSource Extending Jasper Data Classes – Business Logic Beyond Demo-ware: Jasper and Real-World Databases
  • 7. Project goal Enable rapid, iterative development of data-serving applications Target scenarios Forms over data Interactively exploring data with code Jasper, AB Key features Data classes inferred at runtime Automatic data binding
  • 8. YES NO Point at a database and begin coding Excessive configuration One simple way to do Heavyweight tools things Generated source files Works with real-world databases
  • 9. CTP available today http://msdn2.microsoft.com/data/bb419139.aspx ADO.NET Team We're here to get your feedback Jasper Jasper is an incubation project Design ASP.NET VB Team Team Team CLR Team
  • 10. Jasper provides a programming interface to your data API surface tailored for dynamic language development Data Access and Data Binding Without generated source code or complex configuration Query Object API Jasper Update UI Binding
  • 11. O/R Framework + API ASP.NET WinForms/WPF AutoDataSource AutoBinder Data classes inferred at runtime Automatic UI Binding Jasper API ASP.NET AutoDataSource Runtime Data Class AutoBinder for WinForms/WPF Generator Built on ADO.NET Entity Framework ADO.NET Entity Framework Rich Mapping Engine Entity SQL Query Pipeline .NET Data Providers
  • 12. ADO.NET Capabilities EDM Concepts • Provides a higher level • .NET Object API for manipulating data abstraction for data in the store in a store • Mapping engine constructs Entities and Relationships from tables and keys • Successor to the core relational data model • eSQL and LINQ Query Pipeline • Providers to various database stores • Adds formal relationships, • Management of metadata for flexible inheritance, and composition deployment
  • 13. DynamicContext Class Configured with a connection string Serves as an overall context for the database Exposes properties corresponding to the database tables Does change tracking and identity resolution Dim connectionString As String = quot;...quot; Dim context context = DynamicContext.CreateDynamicContext(connectionString) ...context.Stories ... context.Submitters etc...
  • 14. Query class Provides Entity SQL and LINQ query capabilities 'LINQ Query storiesQuery = From t In CType(My.DynamicContext.Tags, IQuery) _ Where t.TagName = tag _ Select t.Story _ Distinct 'Direct Entity SQL Query Dim results results = My.DynamicContext.ExecuteDirectQuery(quot;SELECT VALUE s FROM DataAccessCityModel.Stories As squot;) 'Entity SQL Query with query-builder methods storiesQuery = My.DynamicContext.Stories.Where(quot;it.Topic.TopicId = @TopicId quot;, _ New ObjectParameter() {New ObjectParameter(quot;TopicIdquot;, topicId)})
  • 15. Data Classes Represent the entities in the database Reflect database schema by default DynamicContext creates data classes at runtime Usable at compile-time via late binding Builds an Entity Data Model with relationships from Database Schema Infers classes from Entity Data Model Bottle Winery Supplier Database Schema Data Classes Entity Data Model
  • 16. AutoDataSource component A data source control that uses Jasper for data access Automatically configures data binding of web controls Naming conventions determine bindings Can bind contols to Entity Sets Relationship navigation properties Arbirtrary queries Supports read and write (insert, update, delete) operations
  • 17. Creating the AutoDataSource: Markup <jasper:AutoDataSource ID=quot;AutoDataSource1quot; runat=quot;serverquot; /> Creating the DynamicContext: Code-behind Dim connectionString As String = quot;...quot; Dim context context = DynamicContext.CreateDynamicContext(connectionString) Creating the data-bound controls: Markup <asp:ListBox ID=quot;CategoryNamequot; runat=quot;server” /> … <asp:DetailsView ID=quot;Categories_Productsquot; runat=quot;serverquot; … />
  • 18. Shyam Pather Development Lead Data Programmability Horned Sheep at Miette Hot Springs (near Jasper, AB)
  • 19. Implement GetProperty and SetProperty methods Naming convention: data class generator makes property getters/setters call these methods Access to all data class properties Public Class Story Public Function SetDescription(ByVal desc As String) As String 'Truncate the description if too long If desc.Length > 200 Then Dim i = desc.LastIndexOf(quot; quot;) Return desc.Substring(0, i + 1) + quot;...quot; End If Return desc End Function End Class
  • 20. How do we expose type information at design time? Requires extension of current IntelliSense system. We are working with language teams on this!
  • 21. Shyam Pather Development Lead Data Programmability Athabasca Falls (Jasper National Park)
  • 22. Dynamic Data Classes Custom Data Default Data Model Model Define Custom No Customize Data Model and Customization Naming Service Mapping Simple Database Simple Database Complex Database with Unconventional Names
  • 23. Supports custom naming conventions and pluralization rules Dim ns As NameService = New NameService() ns.BaseNameService = NameService.Default ns.ClassNameMap.AddNameMapping(quot;P2NWEMPquot;, quot;Employeesquot;) ns.ClassNameMap.AddPrefixMapping(quot;avw_quot;) ns.ClassNameMap.AddNameRegexMapping(quot;Empzquot;, quot;Employeequot;) Dim context = DynamicContext.CreateDynamicContext(connectionString, ns)
  • 24. Rich ADO.NET Entity Framework Mapping Engine supports: Renaming De-normalization Horizontal and vertical partitioning Stored-procedure access Jasper API can be used over any mappable Entity Data Model
  • 25. Pyramid Lake (Jasper National Park)
  • 26.
  • 27. We are planning a second CTP before the end of '07 Try out Jasper in the Mix Sandbox Download Jasper and try it with your own applications http://msdn2.microsoft.com/data/bb419139.aspx Please give us feedback! Jasper Forum: http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1556&SiteID=1 Andy Conrad’s blog: http://blogs.msdn.com/aconrad/ Shyam Pather’s blog: http://pather.net/shyam/ Carl Perry’s blog: http://blogs.msdn.com/cperry/ ADO.NET Team blog: http://blogs.msdn.com/adonet/
  • 28.
  • 29. © 2007 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.