7. ASP.NET and Databases - ASP.NET Web Forms

Post on 31-Oct-2014

43 views 1 download

Tags:

description

This is presentation about the relation between ASP.NET and Databases, part of the free ASP.NET Web Forms Course in Telerik Academy. Telerik Software Academy: http://aspnetcourse.telerik.com The website and all video materials are in Bulgarian Table of contents: ASP.NET Data Source Controls; SqlDataSource; EntityDataSource; ObjectDataSource; Entity Data Model and ADO.NET Entity Framework; Using ASP.NET Data Source Controls; Editable Controls; Master-Detail Navinagion ASP.NET Web Forms Course @ Telerik Academy http://aspnetcourse.telerik.com

transcript

ASP.NET and Databases

Entity Data Model, ADO.NET Entity Framework, Data Source Controls,

Ventsislav Popov

Telerik Software Academyacademy.telerik.com

Software Developerwww.ventsypopov.com

aspnetcourse.telerik.com

Table of Contents1. ASP.NET Data Source Controls

SqlDataSource EntityDataSource ObjectDataSource

2. Entity Data Model and ADO.NET Entity Framework

3. Using ASP.NET Data Source Controls Editable Controls Master-Detail Navigation 2

ASP.NET Data Source Controls

ASP.NET Data Source Controls

ASP.NET provides server controls that take care of data binding details

Known as data source controls

SqlDataSource, EntityDataSource, ObjectDataSource, …

They are an abstraction over the data source

Data-bound server controls can be associated to a data source control

Through the DataSourceID property

4

SqlDataSource

SqlDataSource provides connection to a relational DB (MS SQL Server, Oracle, …)

Data is manipulated by using commands

Select, Update, Insert and Delete

Commands can be either SQL queries or names of a stored procedures

Data is processed with a DataSet (by default)

The DataSourceMode property specifies whether to use DataSet or DataReader

5

SqlDataSource – Example

6

<asp:GridView ID="GridViewCustomers" runat="server" DataSourceID="SqlDataSourceNorthwind"></asp:GridView>

<asp:SqlDataSource ID="SqlDataSourceNorthwind" runat="server" ConnectionString= "<%$ ConnectionStrings:NorthwindConnectionString %>" SelectCommand="SELECT [CompanyName], [ContactName], [PostalCode], [Phone], [Address] FROM [Customers]"></asp:SqlDataSource>

Note that your SQL is the presentation layer

Mixing presentation and database logic is very bad practice, so use SqlDataSource!

Using SqlDataSource

Live Demo

Entity Data Model EDM (Entity Data Model): conceptual Entity-Relationship data model Entity: instances of Entity Types

(e.g. Employee, SalesOrder) with an unique key, grouped in Entity-Sets

Relationship: associate entities, and are instances of Relationship Types (e.g. SalesOrder posted-by SalesPerson), grouped in Relationship-Sets

8

ADO.NET Entity Framework

ADO.NET EF: manages the transformations between the logical database in the relational store and the conceptual EDM

Generates an XML representation of a conceptual to logical mapping

ADO.NET client-views adapt the data to a shape that makes sense for the application without affecting the actual database

Querying Against an EDM Model (eSQL)

9

EntityDataSource The EntityDataSource

Provides data binding in Web applications that use the ADO.NET EF

Part of the .NET Framework 3.5, beginning with SP1 and above

Manages create, read, update, and delete operations against a data source on behalf of data-bound controls

The Entity Data Model Designer supports creating mapping scenarios

10

EntityDataSource –Pros And Cons

Pros

The schema can be automatically updated for underlying changes made to the database structures.

TIMESTAMP concurrency is supported

Cons

Views which do not have any underlying unique keys are not able to be added to the data model

11

EntityDataSource – Example

1.Define the data model (e.g. Entity Data Model)

2.Create a basic listing (e.g. ListBox)

12

<asp:ListBox ID=“lBoxOrderHeaders" runat="server"></asp:ListBox>

EntityDataSource-Example (2)

3.Bind the ListBox to the data model

4.Select the new "Entity" option in the dialog box

13

EntityDataSource-Example (3)

5.Designer will then display the available Entity Containers

14

Using EntityDataSource

Live Demo

ObjectDataSource ObjectDataSource enables data-binding of UI control to an object Instead of directly binding to a

database

Needs a middle-tier business object

Data manipulation is based on methods TypeName – name of the business

object

DataObjectTypeName – a class holding the Select, Update, Insert, Delete methods

SelectMehtod, UpdateMethod, …

16

ObjectDataSource – Example

17

<asp:ObjectDataSource ID="dsProducts" runat="server" TypeName="ObjectDataSourceProducts" DataObjectTypeName="Product" SelectMethod="GetAll" InsertMethod="Insert" UpdateMethod="Update" DeleteMethod="Delete"></asp:ObjectDataSource>

<asp:GridView ID="GridViewProducts" runat="server" DataSourceID="dsProducts" DataKeyNames="ProductID"></asp:GridView>

Using ObjectDataSource

Live Demo

ObjectDataSource with EF, ListView and FormView

1. Define the data model (Entities to SQL)

2. Add new class Categories

3. Add method GetAllCategories in the Categories class

19

public static DataClassesObjectContext objectContext = new DataClassesObjectContext();public static IQueryable<Category> GetAllCategories(){ var categories = from category in dataContext.Categories orderby category.CategoryName select category; return categories;}

ObjectDataSource with EF, ListView and FormView

(2)4. Add ListView and FormView controls

to the aspx page5. Bind the ListView to the ObjectDataSource

20

6. Next choose your custom class Categories

7. And choose method GetAllCategories

ObjectDataSource with EF, ListView and FormView

(3)

21

ObjectDataSource with EF, ListView and FormView

(4)8.Click to

configure the ListView control

9.Optionally choose layout and style

22

ObjectDataSource with EF, ListView and FormView

(5)10.Delete from all

templates the row which represent pictures

11.Bind the FormView to ObjectDataSource and enable paging

23

ObjectDataSource with EF, ListView and FormView

(6)12.The result is:

24

Other Data Sources LinqDataSource (for LINQ-to-SQL mappings)

Hierarchical XmlDataSource

Establishes a connection to an XML source of data (files, documents)

DataFile, TranformFile, XPath

SiteMapDataSource MS Access – AccessDataSource

Derives from SqlDataSource DataFile

25

форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно

програмиране за деца – безплатни курсове и уроцибезплатен SEO курс - оптимизация за търсачки

уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop

уроци по програмиране и уеб дизайн за ученициASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC

безплатен курс "Разработка на софтуер в cloud среда"

BG Coder - онлайн състезателна система - online judge

курсове и уроци по програмиране, книги – безплатно от Наков

безплатен курс "Качествен програмен код"

алго академия – състезателно програмиране, състезания

ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NETкурсове и уроци по програмиране – Телерик академия

курс мобилни приложения с iPhone, Android, WP7, PhoneGap

free C# book, безплатна книга C#, книга Java, книга C#Дончо Минков - сайт за програмиранеНиколай Костов - блог за програмиранеC# курс, програмиране, безплатно

?

? ? ??

?? ?

?

?

?

??

?

?

? ?

Questions?

?

ASP.NET and Databases

http://academy.telerik.com

Free Trainings @ Telerik Academy

ASP.NET Web Forms Course aspnetcourse.telerik.com

Telerik Software Academy academy.telerik.com

Telerik Academy @ Facebook facebook.com/TelerikAcademy

Telerik Software Academy Forums forums.academy.telerik.com

27