Orm in c#
-
Upload
imal-hasaranga -
Category
Education
-
view
4.209 -
download
0
description
Transcript of Orm in c#
ORM in C#Using Visual Paradigm
By : Imal Hasaranga Perera
What is ORM? Introduction to VP Using VP to Generate RDB Generating C# .NET Persistent Library Demo of how to use Persistent library Q & A
Agenda
What is ORM ???
Object Relational Mapping, A way of getting object-oriented languages and relational databases to work together Relational
world
Stu
User
B..A…
Object world
Mapping
'Object-Relational Impedance Mismatch' is just
a fancy way of saying that object models and
relational models do not work very well together.
RDBMSs represent data in a tabular format ,
whereas object-oriented languages, such as Java,
C# represent it as an interconnected graph of
objects. Loading and storing graphs of objects
using a tabular relational database exposes us to 5
mismatch problems
The Object-Relational Impedance Mismatch
1) Granularity
2) Inheritance
3) Identity
4) Associations
5) Data Types
The Object-Relational Impedance Mismatch
1. Granularity
Sometimes you will have an object model which has more classes than the number of corresponding tables in the database
public class Teacher{
}
public class School{
}
2. Inheritance
Inheritance is a natural paradigm in object-oriented programming languages. However, RDBMSs do not define anything similar to Inheritance
User_main
Student Teacher
Inheritance
3. Identity
A RDBMS defines exactly one notion of 'sameness'
Teacher_id = 2233
Thread 1
Thread 2
Teacher
Teacher
4. Associations
Associations are represented as unidirectional references in Object Oriented languages whereas RDBMSs use the notion of foreign keys. If you need bidirectional relationships in C#, you must define the association twiceClass user_main {
Teacher teacher;
}
Class Teacher {
}
5. Data Types
When we consider about data types there a mismatches, simply String might have limited size than a varchar data type
String Varchar(150)
Mismatches Between Date and time in the object world and the relational world
Reason for using ORM??
Speeds-up Development - eliminates the need for repetitive SQL code.
Reduces Development Time. Reduces Development Costs. Overcomes vendor specific SQL differences - the
ORM knows how to write vendor specific SQL so you don't have to.
Rich query capability. ORM tools provide an object oriented query language.
User nuser = UserFactory.createUser();
nuser.Fname = t1.Text;nuser.Lname = t2.Text;nuser.Type = t3.Text;nuser.Save();
t.commit();
Lets Get Started With Visual Paradigm
Relational database
Example ER Diagram Created by Using VP
Code Generating Process in VP
Generate C# project using Visual paradigm
Q & A
Thank You