Sunday, February 13, 2011

70-561 ADO.NET 3.5 Objectives with Useful Links

Hello, I am a fan of  Niall Merrigan and also of certification training, and since he has moved on to covering the .NET 4.0 and new SharePoint exams I thought I would put out an article in the same style for the 70-561- Microsoft .NET Framework 3.5, ADO.NET Application Development ,which he evidently hasn’t covered.
Here goes!

Please note that this is in no way a complete guide and understand that you use this guide at your own risk.

Connecting to Data Sources (12 percent)
·        Manage connection strings. May include but is not limited to: using the ConnectionStringBuilder; leveraging the ConfigurationManager; protecting the connection string; using Security Support Provider Interface (SSPI) or SQL Server authentication; correctly addressing the SQL Server instance; managing “User Instance” and AttachDBfilename
·        Connectionstrings (general)
·        Connection String Syntax
·        Manage connection objects. May include but is not limited to: managing connection state, managing connection pool; implementing persistent data connections; implementing Multiple Active Result Sets (MARS); encrypting and decrypting data
·        ProtectedDataSections

·        Work with data providers. May include but is not limited to: limitations, behaviors, performance, installation issues, deployment issues; ODBC, Microsoft OLE DB, SqlClient, managed providers, third-party providers, native providers
·        Oracle and ADO.NET
·        System.Data.OleDb
·        System.Data.Odbc

·        Connect to a data source by using a generic data access interface. May include but is not limited to: System.Data.Common namespace classes
·        DbProviderFactory
·        Handle and diagnose database connection exceptions. May include but is not limited to: implementing try/catch handlers
·        SqlException
Selecting and Querying Data (22 percent)
·        Build command objects. May include but is not limited to: building Parameters collections; using input and output parameters and return values; selecting an appropriate CommandType action; selecting an appropriate Execute method; using the CommandBuilder class; choosing appropriate CommandBehavior
·        SqlParameter
·        SqlCommand.CommandType
·        SqlCommand
·        SqlCommand.Parameters
·        CommandBuilder
·        CommandBehavior
·        Query data from data sources. May include but is not limited to: writing queries to solve assigned problems; implementing data paging; sorting, filtering, and aggregating data
·        T-SQL Tutorial
·        Data Paging

·        Retrieve data source data by using the DataReader. May include but is not limited to: retrieving data from SELECT statements; retrieving data from stored procedures; working with multiple result sets
·        IDataReader Interface
·        DataSet.CreateDataReader
·        Datareader
·        Data binding
·        DataTable
·        Gridview
·        DataReader.NextResult()
·        SqlBulkCopy

·        Manage data by using the DataAdapter or the TableAdapter. May include but is not limited to: retrieving data from SELECT statements; retrieving data from stored procedures; working with multiple result sets; working with JOIN products; creating updatable DataAdapters and TableAdapters; modifying TableAdapter Fill methods
·        SqlCommandBuilder
·        TableAdapter Overview
·        TableAdapters
·        SqlDataAdapter
·        SqlDataAdapter.Fill()

·        Execute an asynchronous query. May include but is not limited to: handling asynchronous events
·        AsyncCallback Delegate
·        IAsyncResult Interface
·        Handle special data types. May include but is not limited to: Binary Large Objects (BLOBs); Filestream, Spatial, Table Value Parameters
·        DataSet.WriteXml
·        XmlWriteMode
·        XSD.exe tool
·        SqlCommand
·        Reading and Writing Blobs
·        XmlReader

   
·        Query data sources by using LINQ. May include but is not limited to: extended method; CLR delegate; lambda expressions; classes of the System.LINQ.Expressions namespace
·        LINQ
·        LINQ Examples
·        LINQ Joins
·        System.LINQ.Expressions
·        Enumerable.SelectMany
·        Enumerable Methods
·        Manage exceptions when selecting data. May include but is not limited to: identifying and resolving syntax errors; security exceptions
·        SqlException
·        SqlError
·        SqlError.Class Property
·        SqlError.Class Property

Modifying Data (24 percent)
·        Manage transactions. May include but is not limited to: selecting an appropriate transaction isolation level; participating in local transactions; participating in distributed transactions; using declarative transactions
·        TransactionScope Object

·        Manage data integrity. May include but is not limited to: cascading updates or cascading deletes; auto number management; server-generated value management; client-side data validation; business rules, constraints
·        DataTable.Constraints
·        ForeignKeyConstraint
·         DataTable.RowChanging
·        DataRowChangeEventArgs
·        DataViewRowState
·        DataRowVersion
·        UniqueConstraint
·        DataTable
·        MissingSchemaAction
·        ForeignKeyConstraint
·        DataTable.Load
·        LoadOption.Upsert

·        Update data. May include but is not limited to: update data by using stored procedures; update datasets to data source; managing concurrency
·        SqlDataAdapter
·        DataAdapter.TableMappings
·        SqlDataAdapter.Fill()
·        DataColumnChangeEventArgs

·        Manage exceptions when modifying data. May include but is not limited to: resolve exceptions from data integrity, constraint, or referential integrity violations; data locking conflicts; data collision issues
·        SqlException
·        SqlError
·        Optimistic Concurrency
·        SqlRowUpdatedEventArgs
·        UpdateStatus

·        Transform data by using LINQ. May include but is not limited to: aggregation operators; JOIN operator, QUERY operator, LIKE, etc.
·        101 LINQ Samples

Synchronizing Data (15 percent)
·        Monitor event notifications. May include but is not limited to: implement notifications by using SqlDependency or SqlNotificationRequest
·        Asychronous Operations
·        SqlDependancy
o   Examples
·        SqlDependency,
·        SqlDependency 2

·        Cache data. May include but is not limited to: SqlCacheDependency, Local Data Cache
·        SqlDependency, SqlDependency 2

·        Manage update conflicts between online data and offline data.

·        Partition data for synchronization.
·        SqlSyncAdapterBuilder

·        Implement Synchronization Services. May include but is not limited to: SyncAgent, SyncTable, ClientSyncProvider, ServerSyncProvider, SyncAdapter
·        ServerSyncProvider Proxy
·        DbServerSyncProvider
·        SyncAnchor
·        SyncAdapter
·        SyncConflictResolver
·        SqlCeClientSyncProvider
·        SyncTable
·        SyncGroup
·        SyncAdapter
·        DbServerSyncProvider
·        SelectNewAnchorCommand

Working with Disconnected Data (16 percent)
·        Manage occasionally connected data.

·        ServerSyncProvider Proxy
·        DbServerSyncProvider
·        SyncAnchor
·        SyncAdapter
·        SyncConflictResolver
·        SqlCeClientSyncProvider
·        SyncTable
·        SyncGroup
·        SyncAdapter
·        DbServerSyncProvider
·        SelectNewAnchorCommand

·        Programmatically create data objects. May include but is not limited to: DataTable; DataSet

·        Work with untyped DataSets and DataTables. May include but is not limited to: populating a DataSet or DataTable
·        DataRelation
·        SqlDataAdapter
·        DataAdapter.TableMappings
·        DataRelation
·        DataTable.Merge
·        DataColumn
·        DataRow
·        DataRow.Add
·        Datarow.delete

·        Expose a DataTableReader from a DataTable or from a DataSet.
·        Work with strongly typed DataSets and DataTables.
·        DataColumn.Expression
·        DataColumn
·        BindingSource.EndEdit
·        TableAdapterManager
·        BindingSource
·        Dataset.CreateDataReader
·        TableAdapter
·        DataTableMapping

Object Relational Mapping by Using the Entity Framework (11 percent)
·        Define and implement an Entity Data Model. May include but is not limited to: mapping schemas and storage metadata; EDM Generator
·        Entity Framework
o   Samples
·        EDM
o   SSDL
o   CSDL
·        Edmgen.exe
·        Query data by using Object Services. May include but is not limited to: querying data as objects and shaping results; working with objects; managing the Object Context; customizing objects
·        Map data by using the Entity SQL Language. May include but is not limited to: manually define mapping files; execute an Entity SQL Query by using EntityCommand
·        EntityCommand
·        Access entity data by using the EntityClient Provider. May include but is not limited to: managing EntityConnection; creating EntityCommand; executing a query by using EntityDataReader; managing EntityTransaction