Click here to Skip to main content
15,885,278 members
Articles / Web Development / ASP.NET

Entity Framework with ASP.NET MVC

Rate me:
Please Sign up or sign in to vote.
2.83/5 (4 votes)
16 Aug 2009CPOL 36.2K   10   3
In this article, I will explore the entity framework with ASP.NET MVC. We will modify the form validation sample that will access the data layer using the Entity Framework.

Introduction

In this article, I will explore the Entity Framework with ASP.NET MVC. We will modify the form validation sample that will access the data layer using the Entity Framework.

We will create the following table in a local database using SQL Express:

SQL
CREATE TABLE [dbo].[tblComment]( 
    [CommentID] [int] IDENTITY(1,1) NOT NULL, 
    [Name] [nvarchar](50) NULL, 
    [Email] [nvarchar](100) NULL, 
    [Comment] [nvarchar](100) NULL)

Now, right click on the Models directory and select Add New Item. In the dialog, select ADO.NET Entity Data Model, as shown below:

Image 1

In the wizard, select "Generate from Database", and then select your database connection string. Then, select the tblComment table and the click Finish. Visual Studio will create a set of .NET classes that are custom built for accessing the database, as shown below:

Image 2

Now, we will modify our controller as shown below:

C#
[HandleError] 
public class UserCommentController : Controller 
{ 
    [AcceptVerbs("GET")] 
    public ActionResult UserComment() 
    { 
        return View(); 
    } 
    [AcceptVerbs("POST")] 
    public ActionResult UserComment(string name, string email, string comment) 
    { 
        ViewData["name"] = name; 
        ViewData["email"] = email; 
        ViewData["comment"] = comment; 
        if (string.IsNullOrEmpty(name)) 
            ModelState.AddModelError("name", "Please enter your name!"); 
        if (!string.IsNullOrEmpty(email) && !email.Contains("@")) 
            ModelState.AddModelError("email", "Please enter a valid e-mail!"); 
        if (string.IsNullOrEmpty(comment)) 
            ModelState.AddModelError("comment", "Please enter a comment!"); 
        if (ViewData.ModelState.IsValid) 
        { 
            // Add to database 
            try 
            { 
                CommentEntities _db = new CommentEntities (); 
                tblComment commentToCreate = new tblComment(); 
                commentToCreate.Name = name; 
                commentToCreate.Email = email; 
                commentToCreate.comment= comment; 
                _db.AddTotblComment(commentToCreate); 
                _db.SaveChanges(); 
            } 
            catch 
            { 
                return View(); 
            } 
        } 
        return View(); 
    } 
}

Summary

In this article, we explored the Entity Framework with ASP.NET MVC. In the next article, I will explore a custom IErrorDataInfo interface.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) http://www.Fairnet.com
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
Generalhttp://www.codeproject.com/KB/aspnet/ASP_NET_MVC_WITH_EF.aspx Pin
Nirosh22-Jul-10 18:13
professionalNirosh22-Jul-10 18:13 
GeneralMy vote of 1 Pin
Shawn Camp17-Aug-09 4:03
Shawn Camp17-Aug-09 4:03 
GeneralMy vote of 1 Pin
Henry Minute17-Aug-09 0:17
Henry Minute17-Aug-09 0:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.