SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Prepared By:
Mr. Dhrumil Patel
iFour ConsultancyEntity Framework
 Writing and managing ADO.Net code for data access is a tedious and monotonous job.
Microsoft has provided an O/RM framework called "Entity Framework" to automate
database related activities for your application.
 The Microsoft ADO.NET Entity Framework is an Object/Relational Mapping (ORM)
framework that enables developers to work with relational data as domain-specific
objects, eliminating the need for most of the data access plumbing code that developers
usually need to write. Using the Entity Framework, developers issue queries using LINQ,
then retrieve and manipulate data as strongly typed objects. The Entity Framework's ORM
implementation provides services like change tracking, identity resolution, lazy loading,
and query translation so that developers can focus on their application-specific business
logic rather than the data access fundamentals.
Entity Framework
Application Development Company Indiahttp://www.ifourtechnolab.com
 The Entity Framework is a mature ORM from Microsoft and can be used with a wide
variety of databases.
 There are three approaches to modeling entities using Entity Framework:
 Code First
 Database First
 Model First
Entity Framework Approaches
Application Development Company Indiahttp://www.ifourtechnolab.com
 The Code First approach helps you to create the entities in your application by focusing on
the domain requirements.
 In essence, you can follow Domain Driven Design (DDD) using this approach. Once your
entities have been defined and the configurations specified, you can create the database
on the fly using both.
 The Code First approach gives you more control over your code -- you don't need to work
with auto generated code anymore.
 If you have the domain classes ready, you can easily create your database from the domain
classes.
Code First
Application Development Company Indiahttp://www.ifourtechnolab.com
 The downside to this approach is that any changes to the underlying database schema
would be lost; in this approach your code defines and creates the database.
 The Code First approach allows you to use Entity Framework and define the entity model
sans the designer or XML files.
 You can use the POCO (Plain Old CLR Objects) approach to define the model and generate
your database.
 In this approach you would typically create the entity classes. Here's an example; a typical
entity class is given below:
public class Product
{
public int ProductId { get; set; }
public string ProductName { get; set; }
public float Price { get; set; }
}
Code First (Cont.)
Application Development Company Indiahttp://www.ifourtechnolab.com
 Next, you should define a custom data context by extending the DbContext class as shown
below:
public class IDGContext : DbContext
{
public DbSet<Product> Products { get; set; }
}
 Lastly, you should specify the connection string in the configuration file.
Code First (Cont.)
Application Development Company Indiahttp://www.ifourtechnolab.com
 You can use the Database First approach if the database is already designed and is ready.
 In this approach, the Entity Data Model (EDM) is created from the underlying database.
 As an example, you use the database first approach when you generate the edmx files in
the Visual Studio IDE from the database.
 Manual changes to the database is possible easily and you can always update the EDM if
need be (for example, if the schema of the underlying database changes).
 To do this, simply update the EDM from the database in the Visual Studio IDE.
Database First
Application Development Company Indiahttp://www.ifourtechnolab.com
 In the Model First approach you can create the EDM first, then generate the database
from it.
 You would typically create an empty EDM using the Entity Data Model Wizard in Visual
Studio, define the entities and their relationships in Visual Studio, then generate the
database from this defined model.
 You can easily create entities and define their relationships and associations in the
designer in Visual Studio. You can also specify the Key property and the data types for the
properties for your entities using the designer. You can use partial classes to implement
additional features in your entities.
Model First
Application Development Company Indiahttp://www.ifourtechnolab.com
 OK, but when should you use the Model First approach? Well, if neither the domain
classes nor the database is ready and you would rather define the data model using a
visual designer, this approach is for you. However, like in the Code First approach, in the
Model First approach manual changes to the database would be lost as the model defines
the database.
Model First (Cont.)
Application Development Company Indiahttp://www.ifourtechnolab.com
 Entity framework supports three types of relationships, same as database:
 One to One
 One to Many
 Many to Many
Entity Relationships
Application Development Company Indiahttp://www.ifourtechnolab.com
 As you can see in the above figure, Student and StudentAddress have a One-to-One
relationship (zero or one).
 A student can have only one or zero address. Entity framework adds Student navigation
property into StudentAddress entity and StudentAddress navigation entity into Student
entity.
 Also, StudentAddress entity has StudentId property as PrimaryKey which makes it a
One-to-One relationship.
 As you can see in the below code, Student entity class includes StudentAddress navigation
property and StudentAddress includes Student navigation property with foreign key
property StudentId. This way EF handles one-to-one relationship between entities.
One-To-One Relationship
Application Development Company Indiahttp://www.ifourtechnolab.com
 Example:
public partial class Student
{
public Student()
{
this.Courses = new HashSet<Course>();
}
public int StudentID { get; set; }
public string StudentName { get; set; }
public Nullable<int> StandardId { get; set; }
public byte[] RowVersion { get; set; }
public virtual Standard Standard { get; set; }
public virtual StudentAddress StudentAddress { get; set; }
public virtual ICollection<Course> Courses { get; set; }
}
One-To-One Relationship (Cont.)
Application Development Company Indiahttp://www.ifourtechnolab.com
public partial class StudentAddress
{
public int StudentID { get; set; }
public string Address1 { get; set; }
public string Address2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public virtual Student Student { get; set; }
}
One-To-One Relationship (Cont.)
Application Development Company Indiahttp://www.ifourtechnolab.com
 The Standard and Teacher entities have a One-to-Many relationship marked by multiplicity
where 1 is for One and * is for many. This means that Standard can have many Teachers
whereas Teacher can associate with only one Standard.
 To represent this, The Standard entity has the collection navigation property Teachers
(please notice that it's plural), which indicates that one Standard can have a collection of
Teachers (many teachers). And Teacher entity has a Standard navigation property (Not a
Collection) which indicates that Teacher is associated with one Standard. Also, it contains
StandardId foreign key (StandardId is a PK in Standard entity). This makes it One-to-Many
relationship.
One-To-Many Relationship
Application Development Company Indiahttp://www.ifourtechnolab.com
 Example:
public partial class Standard
{
public Standard()
{
this.Students = new HashSet<Student>();
this.Teachers = new HashSet<Teacher>();
}
public int StandardId { get; set; }
public string StandardName { get; set; }
public string Description { get; set; }
public virtual ICollection<Student> Students { get; set; }
public virtual ICollection<Teacher> Teachers { get; set; }
}
One-To-Many Relationship (Cont.)
Application Development Company Indiahttp://www.ifourtechnolab.com
public partial class Teacher
{
public Teacher()
{
this.Courses = new HashSet<Course>();
}
public int TeacherId { get; set; }
public string TeacherName { get; set; }
public Nullable<int> StandardId { get; set; }
public Nullable<int> TeacherType { get; set; }
public virtual ICollection<Course> Courses { get; set; }
public virtual Standard Standard { get; set; }
}
One-To-Many Relationship (Cont.)
Application Development Company Indiahttp://www.ifourtechnolab.com
 Student and Course have Many-to-Many relationships marked by * multiplicity. It means
one Student can enrol for many Courses and also, one Course can be be taught to many
Students.
 The database design includes StudentCourse joining table which includes the primary key
of both the tables (Student and Course table). Entity Framework represents many-to-many
relationships by not having entityset for the joining table in CSDL, instead it manages this
through mapping.
Many-to-Many Relationship
Application Development Company Indiahttp://www.ifourtechnolab.com
 Example:
public partial class Student
{
public Student()
{
this.Courses = new HashSet<Course>();
}
public int StudentID { get; set; }
public string StudentName { get; set; }
public Nullable<int> StandardId { get; set; }
public byte[] RowVersion { get; set; }
public virtual Standard Standard { get; set; }
public virtual StudentAddress StudentAddress { get; set; }
public virtual ICollection<Course> Courses { get; set; }
}
Many-To-Many Relationship (Cont.)
Application Development Company Indiahttp://www.ifourtechnolab.com
public partial class Course
{
public Course()
{
this.Students = new HashSet<Student>();
}
public int CourseId { get; set; }
public string CourseName { get; set; }
public System.Data.Entity.Spatial.DbGeography Location { get; set; }
public Nullable<int> TeacherId { get; set; }
public virtual Teacher Teacher { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
Many-To-Many Relationship (Cont.)
Application Development Company Indiahttp://www.ifourtechnolab.com
Thank you
Software development company indiahttp://www.ifourtechnolab.com

Weitere ähnliche Inhalte

Was ist angesagt?

Vb ch 3-object-oriented_fundamentals_in_vb.net
Vb ch 3-object-oriented_fundamentals_in_vb.netVb ch 3-object-oriented_fundamentals_in_vb.net
Vb ch 3-object-oriented_fundamentals_in_vb.netbantamlak dejene
 
Spring FrameWork Tutorials Java Language
Spring FrameWork Tutorials Java Language Spring FrameWork Tutorials Java Language
Spring FrameWork Tutorials Java Language Mahika Tutorials
 
CSCI 238 Chapter 07 - Classes
CSCI 238 Chapter 07 - ClassesCSCI 238 Chapter 07 - Classes
CSCI 238 Chapter 07 - ClassesDanWooster1
 
Technical interview questions
Technical interview questionsTechnical interview questions
Technical interview questionsSoba Arjun
 
OOPS with C++ | Concepts of OOPS | Introduction
OOPS with C++ | Concepts of OOPS | IntroductionOOPS with C++ | Concepts of OOPS | Introduction
OOPS with C++ | Concepts of OOPS | IntroductionADITYATANDONKECCSE
 
ObjectRelationalMappingSEPerspective
ObjectRelationalMappingSEPerspectiveObjectRelationalMappingSEPerspective
ObjectRelationalMappingSEPerspectiveTyler Smith
 
Pursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHPPursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHPGiorgio Sironi
 
Car Showroom management System in c++
Car Showroom management System in c++Car Showroom management System in c++
Car Showroom management System in c++PUBLIVE
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework OverviewEyal Vardi
 
How to implement dependency injection in c#
How to implement dependency injection in c#How to implement dependency injection in c#
How to implement dependency injection in c#Priyank Mittal
 
Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Eyal Vardi
 

Was ist angesagt? (20)

Oops Concepts
Oops ConceptsOops Concepts
Oops Concepts
 
Vb ch 3-object-oriented_fundamentals_in_vb.net
Vb ch 3-object-oriented_fundamentals_in_vb.netVb ch 3-object-oriented_fundamentals_in_vb.net
Vb ch 3-object-oriented_fundamentals_in_vb.net
 
Spring FrameWork Tutorials Java Language
Spring FrameWork Tutorials Java Language Spring FrameWork Tutorials Java Language
Spring FrameWork Tutorials Java Language
 
CSCI 238 Chapter 07 - Classes
CSCI 238 Chapter 07 - ClassesCSCI 238 Chapter 07 - Classes
CSCI 238 Chapter 07 - Classes
 
OOPS_Unit_1
OOPS_Unit_1OOPS_Unit_1
OOPS_Unit_1
 
Composite design pattern
Composite design patternComposite design pattern
Composite design pattern
 
Technical interview questions
Technical interview questionsTechnical interview questions
Technical interview questions
 
My c++
My c++My c++
My c++
 
JAVA PROGRAMMINGD
JAVA PROGRAMMINGDJAVA PROGRAMMINGD
JAVA PROGRAMMINGD
 
OOPS with C++ | Concepts of OOPS | Introduction
OOPS with C++ | Concepts of OOPS | IntroductionOOPS with C++ | Concepts of OOPS | Introduction
OOPS with C++ | Concepts of OOPS | Introduction
 
Chapter1
Chapter1Chapter1
Chapter1
 
ObjectRelationalMappingSEPerspective
ObjectRelationalMappingSEPerspectiveObjectRelationalMappingSEPerspective
ObjectRelationalMappingSEPerspective
 
Pursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHPPursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHP
 
Birasa 1
Birasa 1Birasa 1
Birasa 1
 
7-clean-code
7-clean-code7-clean-code
7-clean-code
 
Car Showroom management System in c++
Car Showroom management System in c++Car Showroom management System in c++
Car Showroom management System in c++
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework Overview
 
How to implement dependency injection in c#
How to implement dependency injection in c#How to implement dependency injection in c#
How to implement dependency injection in c#
 
Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)
 
Design patterns
Design patternsDesign patterns
Design patterns
 

Andere mochten auch

Framework Design Guidelines For Brussels Users Group
Framework Design Guidelines For Brussels Users GroupFramework Design Guidelines For Brussels Users Group
Framework Design Guidelines For Brussels Users Groupbrada
 
Nimble framework
Nimble frameworkNimble framework
Nimble frameworktusjain
 
Domain Driven Design Framework
Domain Driven Design FrameworkDomain Driven Design Framework
Domain Driven Design FrameworkBien Hoang
 
Process Design on Prabandhan Framework
Process Design on Prabandhan FrameworkProcess Design on Prabandhan Framework
Process Design on Prabandhan FrameworkAnil Mande
 
Framework for the analysis and design of encryption strategies based on d...
Framework for the analysis and design of encryption strategies     based on d...Framework for the analysis and design of encryption strategies     based on d...
Framework for the analysis and design of encryption strategies based on d...darg0001
 
E learning analysis and design framework
E learning analysis and design frameworkE learning analysis and design framework
E learning analysis and design frameworkEric Kluijfhout
 
OSVR Software Framework - Core - April 2015
OSVR Software Framework - Core - April 2015OSVR Software Framework - Core - April 2015
OSVR Software Framework - Core - April 2015Ryan A. Pavlik
 
Software Engineering - 02. Framework
Software Engineering - 02. FrameworkSoftware Engineering - 02. Framework
Software Engineering - 02. FrameworkArry Arman
 
Design Frameworks for Analysis and Synthesis of Complex Systems
Design Frameworks for Analysis and Synthesis of Complex SystemsDesign Frameworks for Analysis and Synthesis of Complex Systems
Design Frameworks for Analysis and Synthesis of Complex Systemsdrjanroodt
 
Software Frameworks for Music Information Retrieval
Software Frameworks for Music Information RetrievalSoftware Frameworks for Music Information Retrieval
Software Frameworks for Music Information RetrievalXavier Amatriain
 
Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014Luisa Mich
 
How UI Framework improves design process
How UI Framework improves design processHow UI Framework improves design process
How UI Framework improves design processMarian Mota
 
ADUF - Adaptable Design Up Front
ADUF -  Adaptable Design Up FrontADUF -  Adaptable Design Up Front
ADUF - Adaptable Design Up FrontHayim Makabee
 
A modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE frameworkA modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE frameworkRoberto Dillon
 
Using Environment as a Framework for Urban Design
Using Environment as a Framework for Urban DesignUsing Environment as a Framework for Urban Design
Using Environment as a Framework for Urban DesignRutgers University
 
How UI Framework improves design process - 2015 (Dribbble meetup)
How UI Framework improves design process - 2015  (Dribbble meetup)How UI Framework improves design process - 2015  (Dribbble meetup)
How UI Framework improves design process - 2015 (Dribbble meetup)Marian Mota
 
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...shailesh.bohra
 
Frameworks Are The Future of Design
Frameworks  Are The Future of DesignFrameworks  Are The Future of Design
Frameworks Are The Future of DesignJoe Lamantia
 

Andere mochten auch (20)

Framework Design Guidelines For Brussels Users Group
Framework Design Guidelines For Brussels Users GroupFramework Design Guidelines For Brussels Users Group
Framework Design Guidelines For Brussels Users Group
 
Nimble framework
Nimble frameworkNimble framework
Nimble framework
 
Domain Driven Design Framework
Domain Driven Design FrameworkDomain Driven Design Framework
Domain Driven Design Framework
 
Process Design on Prabandhan Framework
Process Design on Prabandhan FrameworkProcess Design on Prabandhan Framework
Process Design on Prabandhan Framework
 
DRE REPORT- 2014 (1)
DRE REPORT- 2014 (1)DRE REPORT- 2014 (1)
DRE REPORT- 2014 (1)
 
Framework for the analysis and design of encryption strategies based on d...
Framework for the analysis and design of encryption strategies     based on d...Framework for the analysis and design of encryption strategies     based on d...
Framework for the analysis and design of encryption strategies based on d...
 
E learning analysis and design framework
E learning analysis and design frameworkE learning analysis and design framework
E learning analysis and design framework
 
OSVR Software Framework - Core - April 2015
OSVR Software Framework - Core - April 2015OSVR Software Framework - Core - April 2015
OSVR Software Framework - Core - April 2015
 
Software Engineering - 02. Framework
Software Engineering - 02. FrameworkSoftware Engineering - 02. Framework
Software Engineering - 02. Framework
 
Design Frameworks for Analysis and Synthesis of Complex Systems
Design Frameworks for Analysis and Synthesis of Complex SystemsDesign Frameworks for Analysis and Synthesis of Complex Systems
Design Frameworks for Analysis and Synthesis of Complex Systems
 
Software Frameworks for Music Information Retrieval
Software Frameworks for Music Information RetrievalSoftware Frameworks for Music Information Retrieval
Software Frameworks for Music Information Retrieval
 
Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014
 
How UI Framework improves design process
How UI Framework improves design processHow UI Framework improves design process
How UI Framework improves design process
 
ADUF - Adaptable Design Up Front
ADUF -  Adaptable Design Up FrontADUF -  Adaptable Design Up Front
ADUF - Adaptable Design Up Front
 
A modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE frameworkA modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE framework
 
Using Environment as a Framework for Urban Design
Using Environment as a Framework for Urban DesignUsing Environment as a Framework for Urban Design
Using Environment as a Framework for Urban Design
 
How UI Framework improves design process - 2015 (Dribbble meetup)
How UI Framework improves design process - 2015  (Dribbble meetup)How UI Framework improves design process - 2015  (Dribbble meetup)
How UI Framework improves design process - 2015 (Dribbble meetup)
 
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
 
Frameworks Are The Future of Design
Frameworks  Are The Future of DesignFrameworks  Are The Future of Design
Frameworks Are The Future of Design
 
Design engineering
Design engineeringDesign engineering
Design engineering
 

Ähnlich wie Overview of entity framework by software outsourcing company india

Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Tony Frame
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web DevelopmentRobert J. Stein
 
PowerPoint
PowerPointPowerPoint
PowerPointVideoguy
 
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010vchircu
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with PythonBrian Lyttle
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan
 
Microsoft Entity Framework
Microsoft Entity FrameworkMicrosoft Entity Framework
Microsoft Entity FrameworkMahmoud Tolba
 
Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4Darwin Biler
 
Ef Poco And Unit Testing
Ef Poco And Unit TestingEf Poco And Unit Testing
Ef Poco And Unit TestingJames Phillips
 
Learning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFrameworkLearning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFrameworkAkhil Mittal
 
Design patterns fast track
Design patterns fast trackDesign patterns fast track
Design patterns fast trackBinu Bhasuran
 
Patterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docxPatterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docxdanhaley45372
 
Repository Pattern in MVC3 Application with Entity Framework
Repository Pattern in MVC3 Application with Entity FrameworkRepository Pattern in MVC3 Application with Entity Framework
Repository Pattern in MVC3 Application with Entity FrameworkAkhil Mittal
 
MVC and Entity Framework 4
MVC and Entity Framework 4MVC and Entity Framework 4
MVC and Entity Framework 4James Johnson
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstEnea Gabriel
 

Ähnlich wie Overview of entity framework by software outsourcing company india (20)

Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Data access
Data accessData access
Data access
 
PowerPoint
PowerPointPowerPoint
PowerPoint
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
 
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 
ASP.NET MVC3 RAD
ASP.NET MVC3 RADASP.NET MVC3 RAD
ASP.NET MVC3 RAD
 
Microsoft Entity Framework
Microsoft Entity FrameworkMicrosoft Entity Framework
Microsoft Entity Framework
 
Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4
 
Ef Poco And Unit Testing
Ef Poco And Unit TestingEf Poco And Unit Testing
Ef Poco And Unit Testing
 
Learning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFrameworkLearning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFramework
 
C#Portfolio
C#PortfolioC#Portfolio
C#Portfolio
 
Design patterns fast track
Design patterns fast trackDesign patterns fast track
Design patterns fast track
 
Onine exam 1
Onine exam 1Onine exam 1
Onine exam 1
 
Patterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docxPatterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docx
 
Repository Pattern in MVC3 Application with Entity Framework
Repository Pattern in MVC3 Application with Entity FrameworkRepository Pattern in MVC3 Application with Entity Framework
Repository Pattern in MVC3 Application with Entity Framework
 
MVC and Entity Framework 4
MVC and Entity Framework 4MVC and Entity Framework 4
MVC and Entity Framework 4
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code First
 

Kürzlich hochgeladen

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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
 

Kürzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 

Overview of entity framework by software outsourcing company india

  • 1. Prepared By: Mr. Dhrumil Patel iFour ConsultancyEntity Framework
  • 2.  Writing and managing ADO.Net code for data access is a tedious and monotonous job. Microsoft has provided an O/RM framework called "Entity Framework" to automate database related activities for your application.  The Microsoft ADO.NET Entity Framework is an Object/Relational Mapping (ORM) framework that enables developers to work with relational data as domain-specific objects, eliminating the need for most of the data access plumbing code that developers usually need to write. Using the Entity Framework, developers issue queries using LINQ, then retrieve and manipulate data as strongly typed objects. The Entity Framework's ORM implementation provides services like change tracking, identity resolution, lazy loading, and query translation so that developers can focus on their application-specific business logic rather than the data access fundamentals. Entity Framework Application Development Company Indiahttp://www.ifourtechnolab.com
  • 3.  The Entity Framework is a mature ORM from Microsoft and can be used with a wide variety of databases.  There are three approaches to modeling entities using Entity Framework:  Code First  Database First  Model First Entity Framework Approaches Application Development Company Indiahttp://www.ifourtechnolab.com
  • 4.  The Code First approach helps you to create the entities in your application by focusing on the domain requirements.  In essence, you can follow Domain Driven Design (DDD) using this approach. Once your entities have been defined and the configurations specified, you can create the database on the fly using both.  The Code First approach gives you more control over your code -- you don't need to work with auto generated code anymore.  If you have the domain classes ready, you can easily create your database from the domain classes. Code First Application Development Company Indiahttp://www.ifourtechnolab.com
  • 5.  The downside to this approach is that any changes to the underlying database schema would be lost; in this approach your code defines and creates the database.  The Code First approach allows you to use Entity Framework and define the entity model sans the designer or XML files.  You can use the POCO (Plain Old CLR Objects) approach to define the model and generate your database.  In this approach you would typically create the entity classes. Here's an example; a typical entity class is given below: public class Product { public int ProductId { get; set; } public string ProductName { get; set; } public float Price { get; set; } } Code First (Cont.) Application Development Company Indiahttp://www.ifourtechnolab.com
  • 6.  Next, you should define a custom data context by extending the DbContext class as shown below: public class IDGContext : DbContext { public DbSet<Product> Products { get; set; } }  Lastly, you should specify the connection string in the configuration file. Code First (Cont.) Application Development Company Indiahttp://www.ifourtechnolab.com
  • 7.  You can use the Database First approach if the database is already designed and is ready.  In this approach, the Entity Data Model (EDM) is created from the underlying database.  As an example, you use the database first approach when you generate the edmx files in the Visual Studio IDE from the database.  Manual changes to the database is possible easily and you can always update the EDM if need be (for example, if the schema of the underlying database changes).  To do this, simply update the EDM from the database in the Visual Studio IDE. Database First Application Development Company Indiahttp://www.ifourtechnolab.com
  • 8.  In the Model First approach you can create the EDM first, then generate the database from it.  You would typically create an empty EDM using the Entity Data Model Wizard in Visual Studio, define the entities and their relationships in Visual Studio, then generate the database from this defined model.  You can easily create entities and define their relationships and associations in the designer in Visual Studio. You can also specify the Key property and the data types for the properties for your entities using the designer. You can use partial classes to implement additional features in your entities. Model First Application Development Company Indiahttp://www.ifourtechnolab.com
  • 9.  OK, but when should you use the Model First approach? Well, if neither the domain classes nor the database is ready and you would rather define the data model using a visual designer, this approach is for you. However, like in the Code First approach, in the Model First approach manual changes to the database would be lost as the model defines the database. Model First (Cont.) Application Development Company Indiahttp://www.ifourtechnolab.com
  • 10.  Entity framework supports three types of relationships, same as database:  One to One  One to Many  Many to Many Entity Relationships Application Development Company Indiahttp://www.ifourtechnolab.com
  • 11.  As you can see in the above figure, Student and StudentAddress have a One-to-One relationship (zero or one).  A student can have only one or zero address. Entity framework adds Student navigation property into StudentAddress entity and StudentAddress navigation entity into Student entity.  Also, StudentAddress entity has StudentId property as PrimaryKey which makes it a One-to-One relationship.  As you can see in the below code, Student entity class includes StudentAddress navigation property and StudentAddress includes Student navigation property with foreign key property StudentId. This way EF handles one-to-one relationship between entities. One-To-One Relationship Application Development Company Indiahttp://www.ifourtechnolab.com
  • 12.  Example: public partial class Student { public Student() { this.Courses = new HashSet<Course>(); } public int StudentID { get; set; } public string StudentName { get; set; } public Nullable<int> StandardId { get; set; } public byte[] RowVersion { get; set; } public virtual Standard Standard { get; set; } public virtual StudentAddress StudentAddress { get; set; } public virtual ICollection<Course> Courses { get; set; } } One-To-One Relationship (Cont.) Application Development Company Indiahttp://www.ifourtechnolab.com
  • 13. public partial class StudentAddress { public int StudentID { get; set; } public string Address1 { get; set; } public string Address2 { get; set; } public string City { get; set; } public string State { get; set; } public virtual Student Student { get; set; } } One-To-One Relationship (Cont.) Application Development Company Indiahttp://www.ifourtechnolab.com
  • 14.  The Standard and Teacher entities have a One-to-Many relationship marked by multiplicity where 1 is for One and * is for many. This means that Standard can have many Teachers whereas Teacher can associate with only one Standard.  To represent this, The Standard entity has the collection navigation property Teachers (please notice that it's plural), which indicates that one Standard can have a collection of Teachers (many teachers). And Teacher entity has a Standard navigation property (Not a Collection) which indicates that Teacher is associated with one Standard. Also, it contains StandardId foreign key (StandardId is a PK in Standard entity). This makes it One-to-Many relationship. One-To-Many Relationship Application Development Company Indiahttp://www.ifourtechnolab.com
  • 15.  Example: public partial class Standard { public Standard() { this.Students = new HashSet<Student>(); this.Teachers = new HashSet<Teacher>(); } public int StandardId { get; set; } public string StandardName { get; set; } public string Description { get; set; } public virtual ICollection<Student> Students { get; set; } public virtual ICollection<Teacher> Teachers { get; set; } } One-To-Many Relationship (Cont.) Application Development Company Indiahttp://www.ifourtechnolab.com
  • 16. public partial class Teacher { public Teacher() { this.Courses = new HashSet<Course>(); } public int TeacherId { get; set; } public string TeacherName { get; set; } public Nullable<int> StandardId { get; set; } public Nullable<int> TeacherType { get; set; } public virtual ICollection<Course> Courses { get; set; } public virtual Standard Standard { get; set; } } One-To-Many Relationship (Cont.) Application Development Company Indiahttp://www.ifourtechnolab.com
  • 17.  Student and Course have Many-to-Many relationships marked by * multiplicity. It means one Student can enrol for many Courses and also, one Course can be be taught to many Students.  The database design includes StudentCourse joining table which includes the primary key of both the tables (Student and Course table). Entity Framework represents many-to-many relationships by not having entityset for the joining table in CSDL, instead it manages this through mapping. Many-to-Many Relationship Application Development Company Indiahttp://www.ifourtechnolab.com
  • 18.  Example: public partial class Student { public Student() { this.Courses = new HashSet<Course>(); } public int StudentID { get; set; } public string StudentName { get; set; } public Nullable<int> StandardId { get; set; } public byte[] RowVersion { get; set; } public virtual Standard Standard { get; set; } public virtual StudentAddress StudentAddress { get; set; } public virtual ICollection<Course> Courses { get; set; } } Many-To-Many Relationship (Cont.) Application Development Company Indiahttp://www.ifourtechnolab.com
  • 19. public partial class Course { public Course() { this.Students = new HashSet<Student>(); } public int CourseId { get; set; } public string CourseName { get; set; } public System.Data.Entity.Spatial.DbGeography Location { get; set; } public Nullable<int> TeacherId { get; set; } public virtual Teacher Teacher { get; set; } public virtual ICollection<Student> Students { get; set; } } Many-To-Many Relationship (Cont.) Application Development Company Indiahttp://www.ifourtechnolab.com
  • 20. Thank you Software development company indiahttp://www.ifourtechnolab.com

Hinweis der Redaktion

  1. Application Development Company India - http://www.ifourtechnolab.com/
  2. Application Development Company India - http://www.ifourtechnolab.com/
  3. Application Development Company India - http://www.ifourtechnolab.com/
  4. Application Development Company India - http://www.ifourtechnolab.com/
  5. Application Development Company India - http://www.ifourtechnolab.com/
  6. Application Development Company India - http://www.ifourtechnolab.com/
  7. Application Development Company India - http://www.ifourtechnolab.com/
  8. Application Development Company India - http://www.ifourtechnolab.com/
  9. Application Development Company India - http://www.ifourtechnolab.com/
  10. Application Development Company India - http://www.ifourtechnolab.com/
  11. Application Development Company India - http://www.ifourtechnolab.com/
  12. Application Development Company India - http://www.ifourtechnolab.com/
  13. Application Development Company India - http://www.ifourtechnolab.com/
  14. Application Development Company India - http://www.ifourtechnolab.com/
  15. Application Development Company India - http://www.ifourtechnolab.com/
  16. Application Development Company India - http://www.ifourtechnolab.com/
  17. Application Development Company India - http://www.ifourtechnolab.com/
  18. Application Development Company India - http://www.ifourtechnolab.com/
  19. Software Outsourcing Company India - http://www.ifourtechnolab.com/