entity framework1

16
ADO. Net Entity Framework Prepared by Prepared by Girish Gowda Girish Gowda

Upload: girish-gowda

Post on 22-May-2015

135 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Entity framework1

ADO. Net Entity Framework

Prepared byPrepared byGirish GowdaGirish Gowda

Page 2: Entity framework1

Introduction to EF

Creating a database can be difficult . A database models information in the real

world using a collection of tables, indexes, views, and other items. In other words, a database is an abstraction of the real-world information that it’s supposed to represent.

the Entity Framework relies on a graphical presentation of the data so that the developer can literally see the relationships between the various tables and other database items.

Page 3: Entity framework1

Continue…

The Entity Framework provides the means to create various kinds of models that a developer can interact with in a number of ways. As with the architect’s model, the Entity Framework uses a graphical interface to make information about the underlying database structure easier to understand and modify.

The Entity Framework is actually a Microsoft ActiveX Data Object .NET (ADO.NET) technology extension.

Page 4: Entity framework1

Understanding the Entity Framework elements

The Entity Framework relies on XML files to perform its work.

These files perform three tasks: defining the conceptual model, defining the storage model, and creating mappings between the models and the physical database.

Page 5: Entity framework1

CONT….

conceptual model :-Entity Framework that developers interact with most. This model defines how the database looks from the application’s perspective .

storage model :-This model is often called the logical model because it provides a logical view of the database that ultimately translates into the physical database .

model mappings :-In order to make the two models work together, the Entity Framework requires model mapping—a third element that describes how something in the conceptual model translates to the storage model, and vice versa.

Page 6: Entity framework1

Introducing the Entity Framework files

Viewing the Conceptual Schema Definition Language file

The Conceptual Schema Definition Language (.CSDL) file contains the XML required to build the conceptual model of the database content as viewed by the application. Eg..

<!-- CSDL content --> <edmx:ConceptualModels> <Schema xmlns="http://schemas.microsoft.com/ado/2009/11/edm"...> <EntityContainer Name="Model1Container" annotation:LazyLoadingEnabled="true"> <EntitySet Name="Customers" EntityType="Model1.Customer" />

Page 7: Entity framework1

Viewing the Store Schema Definition Language file

The .SSDL file contains the XML required

to define the storage model of the database content as viewed by the database manager.

<!-- SSDL content --> <edmx:StorageModels> <Schema Namespace="eprescription.Store"

Alias="Self" Provider="System.Data.SqlClient”

Page 8: Entity framework1

Viewing the Mapping Specification Language file

The .MSL file creates a relationship

between the .CSDL and .SSDL files. The mapping serves to define how the application view and the database manager view reflect the same database, but from differing perspectives. For example, the model mapping defines which conceptual model property translates into a particular storage model property.

Page 9: Entity framework1

CONT..

<!-- C-S mapping content --> <edmx:Mappings> <Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs"> <EntityContainerMapping StorageEntityContainer="Model1StoreContainer" CdmEntityContainer="Model1Container"> <EntitySetMapping Name="Customers"> <EntityTypeMapping TypeName="IsTypeOf(Model1.Customer)">

C:\Users\Cherry\Desktop\XML file of edmx.docx

Page 10: Entity framework1

Entity Client – EDM, Entity SQLEntity Client – EDM, Entity SQL

Entity Entity Framework Framework

RuntimeRuntime

Data Providers (ADO.NET patterns)Data Providers (ADO.NET patterns)

SQL SQL ServerServer

Relational Relational DBMSDBMS

Web ServiceWeb Service

Dom

ain

D

om

ain

M

od

elin

g T

ools

Mod

elin

g T

ools

Mod

elin

Mod

elin

ggM

ap

pin

Map

pin

ggM

ap

pin

Map

pin

gg

Bro

wsi

Bro

wsi

ng

ng

Bin

din

gB

ind

ing

Bin

din

gB

ind

ing

Programming Programming LayersLayers

Cod

e G

en

Cod

e G

en

Cod

e G

en

Cod

e G

en

ReportingReportingReportingReporting

SyncSyncSyncSync

AnalysisAnalysisAnalysisAnalysis

SearchSearchSearchSearch

Entity Entity ServicesServices

MappingMappingMappingMapping

Query and Query and Update Update

PipelinesPipelines

Query and Query and Update Update

PipelinesPipelines

TransactionsTransactionsTransactionsTransactions

Metadata Metadata ServicesServicesMetadata Metadata ServicesServices

Linq to EntitiesLinq to Entities Entity SQLEntity SQL

Linq to EntitiesLinq to Entities Entity SQLEntity SQL

ApplicationsApplicationsApplicationsApplications

SqlClieSqlClientnt

SqlClieSqlClientnt

OtherCliOtherClientent

OtherCliOtherClientent

Non-Non-relationalrelational

Non-Non-relationalrelational

Architecture

Page 11: Entity framework1

Entity Framework lets you interact with the database using one of three techniques

1. Database first : The Entity Framework creates classes that reflect an existing database design.

2. Design first : You define a model of the database that the Entity Framework then creates on the database server.

3. Code first : You create an application, and the Entity Framework defines a model that it then uses to create the database on the database server.

Page 12: Entity framework1

the role of lambda expressions

A lambda expression is an anonymous function (one that doesn’t have a specific name) that you use to create delegates or expression trees. The goal behind a lambda expression is to simplify the task of expressing abstractions within an application.

The lambda expression uses the lambda operator, =>

var dbQuery = UserFavoritesContext.UserFavorites.Where(id => id.UserId >= 0).ToArray();

Page 13: Entity framework1

LINQ to Entities

LINQ to Entities:- you rely on a new provider named EntityClient.

LINQ to Entities transforms your query into EntityClient objects and method calls.

The EntityClient provider then creates an interface between the LINQ to Entities queries and the underlying Microsoft ADO.NET providers through the various layers of the Entity Framework.

Page 14: Entity framework1
Page 15: Entity framework1

Several advantages

Provides dedicated functionality for CRUD operation (Create, Read, Update, Delete). Easy to implement CRUD operations.

If you want to replace the data store, it is very easy to replace without modifying the data access logic since all data access logic are present in higher level.

Easy to manage one to one, one to many and many to many relationship between tables.

Conceptual model can be represented in a better way.

Developer can reduce the code in classes and sub-classes for data access.

Page 16: Entity framework1

Thank You

Cherry UmbrellaLife will be cherry