Entity Framework - Simplified by Mohd Manzoor Ahmed - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

Chapter 3: Exploring Entity Data Model

 In this chapter we are going to explore the class that gets generated whenever we

create Entity Data Model

 The class is OrganizationModel.Designer.cs and I’ll double click this file.

 Now, there are two important things that you need to remember from this file

www.ManzoorTheTrainer.com

index-18_1.png

index-18_2.png

index-18_3.jpg

17

Entity Framework - Simplified

1. Namespace (You got namespace as OrganizationModel)

namespace OrganizationModel {}

o Hope you might have remembered when we were creating Entity Data Model,

In the wizard we gave the name of the model as OrganizationModel.

o So “OrganizationModel” is the namespace.

o On the page wherever you need to access the data with the help of Entity

Data Model, You need to say Using OrganizationModel; i.e., you need to add

this namespace on the page wherever you code.

2. The Object contexts that we have that is OrganizationEntities

o You need to create the context object whenever you want to work with Entity

Data Model.

o So, this class is present in the OrganizationModel namespace that’s why we

need to add this namespace and create the object of this class.

www.ManzoorTheTrainer.com

index-19_1.png

index-19_2.png

index-19_3.jpg

18

Entity Framework - Simplified

 Let us see the entities that got created for each table.

 So, we should have 2 entities. Entities are nothing but the objects – the classes.

o public partial class tbl_Dept : EntityObject

o public partial class tbl_Emp : EntityObject

www.ManzoorTheTrainer.com

index-20_1.png

index-20_2.png

index-20_3.jpg

19

Entity Framework - Simplified

 So, I’ve got one entity that is Department tbl_Dept and the other entity that is

tbl_Emp and they contains the properties Did(Department ID) which is of type

int, (DName) Department name, HOD and Gender for tbl_Dept.

public global::System.Int32 Did

{

get

{

return _Did;

}

set

{

if (_Did != value)

{

OnDidChanging(value);

ReportPropertyChanging("Did");

_Did = StructuralObject.SetValidValue(value);

ReportPropertyChanged("Did");

OnDidChanged();

}

}

}

www.ManzoorTheTrainer.com

index-21_1.png

index-21_2.png

index-21_3.jpg

20

Entity Framework - Simplified

public global::System.String Dname

{

get

{

return _Dname;

}

set

{

OnDnameChanging(value);

ReportPropertyChanging("Dname");

_Dname = StructuralObject.SetValidValue(value, true);

ReportPropertyChanged("Dname");

OnDnameChanged();

}

}

public global::System.String HOD

{

get

{

return _HOD;

}

set

{

OnHODChanging(value);

ReportPropertyChanging("HOD");

_HOD = StructuralObject.SetValidValue(value, false);

ReportPropertyChanged("HOD");

OnHODChanged();

}

}

 It also contains one extra property that is nothing but the Navigation property

that means we say whenever there is a primary and foreign key relationship it is

creating a property that is called as Navigation property.

 From department table we can move to Employee table with the help of

Navigation property called as tbl_Emp.

public EntityCol ection<tbl_Emp> tbl_Emp

www.ManzoorTheTrainer.com

index-22_1.png

index-22_2.png

21

Entity Framework - Simplified

{

get

{

return

((IEntityWithRelationships)this).RelationshipManager.Get RelatedCollection<tbl_Emp>("

OrganizationModel.FK_tbl_Emp_tbl_Dept", "tbl_Emp");

}

set

{

if ((value != nul ))

{

((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection

<tbl_Emp>("OrganizationModel.FK_tbl_Emp_tbl_Dept", "tbl_Emp", value);

}

}

}

public global::System.Int32 Eid

{

get

{

return _Eid;

}

set

{

if (_Eid != value)

{

OnEidChanging(value);

ReportPropertyChanging("Eid");

_Eid = StructuralObject.SetValidValue(value);

ReportPropertyChanged("Eid");

OnEidChanged();

}

}

}

public global::System.String EName

{

get

{

return _EName;

}

set

{

OnENameChanging(value);

ReportPropertyChanging("EName");

_EName = StructuralObject.SetValidValue(value, false);

ReportPropertyChanged("EName");

OnENameChanged();

}

}

public global::System.Double ESal

{

get

{

return _ESal;

}

set

{

www.ManzoorTheTrainer.com

index-23_1.png

index-23_2.png

22

Entity Framework - Simplified

OnESalChanging(value);

ReportPropertyChanging("ESal");

_ESal = StructuralObject.SetValidValue(value);

ReportPropertyChanged("ESal");

OnESalChanged();

}

}

public global::System.String EGen

{

get

{

return _EGen;

}

set

{

OnEGenChanging(value);

ReportPropertyChanging("EGen");

_EGen = StructuralObject.SetValidValue(value, false);

ReportPropertyChanged("EGen");

OnEGenChanged();

}

}

public global::System.DateTime EDOB

{

get

{

return _EDOB;

}

set

{

OnEDOBChanging(value);

ReportPropertyChanging("EDOB");

_EDOB = StructuralObject.SetValidValue(value);

ReportPropertyChanged("EDOB");

OnEDOBChanged();

}

}

public Nul able<global::System.Int32> Did

{

get

{

return _Did;

}

set

{

OnDidChanging(value);

ReportPropertyChanging("Did");

_Did = StructuralObject.SetValidValue(value);

ReportPropertyChanged("Did");

OnDidChanged();

}

}

www.ManzoorTheTrainer.com

index-24_1.png

index-24_2.png

23

Entity Framework - Simplified

public EntityReference<tbl_Dept > tbl_DeptReference

{

get

{

return

((IEntityWithRelationships)this).RelationshipManager.Get RelatedReference<tbl_Dept >("

OrganizationModel.FK_tbl_Emp_tbl_Dept", "tbl_Dept");

}

set

{

if ((value != nul ))

{

((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedRefer

ence<tbl_Dept>("OrganizationModel.FK_tbl_Emp_tbl_Dept ", "tbl_Dept",

value);

}

}

}

 Anyway we are going to see how to use all these things in our future chapters.

So, these are the entities that get created.

 Now, operations on these entities are available in this class OrganizationEntities.

 So, you have a class which is partial and you have partial methods and you have

objectset properties.

 And, the important thing is AddToMethods.

 So, AddTotbl_Dept is the method to insert some record into the department

table.

 AddTotble_Emp is the method used to insert some record into the Employee table

public void AddTotbl_Dept(tbl_Dept tbl_Dept)

{

base.AddObject("tbl_Dept", tbl_Dept);

}

public void AddTotbl_Emp(tbl_Emp tbl_Emp)

{

base.AddObject("tbl_Emp", tbl_Emp);

}

public partial class OrganizationEntities : ObjectContext

 Now, one important thing is OrganizationEntities class is partial because there

are many cases where you need to edit this class that means before insertion,

before adding this to the database, I want to perform some business operations

or business validations.

 I can go and write the code here itself. But, the problem is that whenever I

refresh my OrganizationModel or if I add some new tables to this model or if I

update the model if I perform anything on the model it is going to regenerate this

file means it’ll override all our code.

 So, in those scenarios what is that we can do is we can have a separate class

which is again a partial class and you can add your customized code there.

 So, that whenever you update Entity Data Model you code should not get

overridden.

www.ManzoorTheTrainer.com

index-25_1.png

index-25_2.png

index-25_3.jpg

24

Entity Framework - Simplified

Chapter 4: Exploring Entity Data Model in EF 5.X

 There are two ways of working with Entity Framework i.e., ObjectContext and

DbContext.

 This book deals with ObjectContext.

 Now, if at all you are working on Visual Studio 2012 with latest version of Entity

Framework 5.X.

 Here are few settings that you need to perform once once you generate your Entity

Data Model or you can say your edmx file to work with ObjectContext.

 So, you need to perform two steps.

 Right click in edmx file go for properties and say Code Generation Strategy to

Default.

 In your OrganizationModel hierarchy you’ll find two files with .tt extension

www.ManzoorTheTrainer.com

index-26_1.png

index-26_2.png

index-26_3.jpg

index-26_4.jpg

25

Entity Framework - Simplified

 Simply delete those files.

 Now, you can rebuild the project and you’ll see that everything is successful.

 Go for OrganizationDBEntities1 file.

 And you’ll find all the things as usual.

 These are the two steps that you need to perform if at all you want to work with

Entity Framework on Visual Studio 2012.

 Now, what are these tt files, how can we work with tt files? All these things we can

see in our next release.

 So, in our next Chapters we will see basic operations i.e., performing insert, update,

delete and read operations from Entity Data Model.

www.ManzoorTheTrainer.com

index-27_1.png

index-27_2.png

index-27_3.jpg

26

Entity Framework - Simplified

Chapter 5 : Performing an Insert Operation

 In this chapter I am going to show you how to perform the insert operation on Entity

Data Model that is in your Entity Framework.

 It is very simple. Say, I’ve a form it is a normal ASP.NET form that I’ve created to

insert data into the department table.

 As we know that department id is auto generated column we do not require a field

for it on the form.

<table cel padding="0" cel spacing="0" class="style1">

<tr>

<td style="text-align: right">

Dept ID</td>

<td>

<asp:TextBox ID="txt Did" runat="server"></asp:TextBox>

</td>

</tr>

<tr>

<td style="text-align: right">

&nbsp;</td>

<td>

<asp:Button ID="btnSearch" runat="server" onclick="btnSearch_Click"

Text="Search" />

</td>

</tr>

<tr>

<td style="text-align: right">

Dept Name</td>

<td>

<asp:TextBox ID="txt DName" runat="server"></asp:TextBox>

</td>

www.ManzoorTheTrainer.com

index-28_1.png

index-28_2.png

27

Entity Framework - Simplified

</tr>

<tr>

<td style="text-align: right">

HOD</td>

<td>

<asp:TextBox ID="txtHOD" runat="server"></asp:Text Box>

</td>

</tr>

<tr>

<td style="text-align: right">

Gender</td>

<td>

<asp:RadioButtonList ID="rblGender" runat="server" RepeatDirection="Horizontal">

<asp:ListItem Value="M">Male</asp:ListItem>

<asp:ListItem Value="F">Female</asp:ListItem>

</asp:RadioButtonList >

</td>

</tr>

<tr>

<td style="text-align: right">

IsActive</td>

<td>

<asp:CheckBox ID="ckbActive" runat="server" />

</td>

</tr>

<tr>

<td style="text-align: right">

<asp:Button ID="btnCancel" runat="server" Text="Cancel" />

</td>

<td>

<asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click" Text="Save" />

<asp:Button ID="btnUpdate" runat="server" onclick="btnUpdate_Click"

Text="Update" />

<asp:Button ID="btnDelete" runat="server" onclick="btnDelete_Click"

Text="Delete" />

</td>

</tr>

<tr>

<td colspan="2" style="text-align: center">

<asp:GridView ID="grdDept" runat="server" CellPadding="4" ForeColor="#333333"

GridLines="None">

<AlternatingRowStyle BackColor="White" ForeColor="#284775" />

<EditRowStyle BackColor="#999999" />

<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />

<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />

<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />

<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />

<SelectedRowStyle BackColor="#E2DED6" Font -Bold="True" ForeColor="#333333" />

<SortedAscendingCel Style BackColor="#E9E7E2" />

<SortedAscendingHeaderStyle BackColor="#506C8C" />

<SortedDescendingCel Style BackColor="#FFFDF8" />

<SortedDescendingHeaderStyle BackColor="#6F8DAE" />

</asp:GridView>

</td>

</tr>

</table>

 Next, department name I’ve created a textbox for this for HOD I’ve a textbox, for

gender I’ve a radio button list and for Active flag I’ve IsActive checkbox.

 Now, on this save button click I need this data to get inserted into this department

table.

 I’ll double click the save button and write code.

www.ManzoorTheTrainer.com

index-29_1.png

index-29_2.png

index-29_3.jpg

28

Entity Framework - Simplified

 As we learnt in our previous chapter if you want to perform anything on Entity Data

Model you need to use a namespace that is nothing but using OrganizationModel;

that we’ve in our solution explorer In Organization Model.

 This is the namespace that we add OrganizationModel. And I’ll create an object of

this class that is OrganizationEntities.

OrganizationEntities OE = new OrganizationEntities();

 Now I want to perform an insert operation on Department table that means I need to

create the object for tbl_Dept

protected void btnSave_Click(object sender, EventArgs e)

{

OrganizationEntities OE = new OrganizationEntities();

// This is the entity that we got the entity for department table

tbl_Dept d = new tbl_Dept();

//Department ID is auto increment I need not to do anything for this

//HOD Name, txtDName, txtHOD these are al the ID’s of the textboxes that we’ve on the form

d.Dname = txtDName.Text.ToString();

d.HOD = txtHOD.Text.ToString();

d.Gender = rblGender.SelectedValue.ToString();

//This is of type BooleanWhenever the checkbox is checked I should set it to true else to false

d.Active = ckbActive.Checked;

//Now department object is ready. I need to insert this department d in the department table. So, I’l

//perform that operation with the help of OrganizationEntities object

OE.AddTotbl_Dept(d);

www.ManzoorTheTrainer.com

index-30_1.png

index-30_2.png

index-30_3.jpg

29

Entity Framework - Simplified

//Final y save changes. It is going to reflect in the database.

Find Your Next Great Read

Describe what you're looking for in as much detail as you'd like.
Our AI reads your request and finds the best matching books for you.

Showing results for ""

Popular searches:

Romance Mystery & Thriller Self-Help Sci-Fi Business