为具有外键的实体实现CRUD

时间:2014-08-18 14:43:00

标签: entity-framework asp.net-mvc-4

我试图在带有Entity Framework的ASP.NET MVC4中使用简单的CRUD操作实现一个小应用程序。我应该如何为这个实体实现它:

public class UserProfile
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }
    public string UserName { get; set; }

    public virtual Role UserRole { get; set; }

    public virtual Employee Employee { get; set; }
}

我应该制作这样的另一个模型:

public class User
{
    public int UserId { get; set; }

    public string UserName { get; set; }

    public int RoleId { get; set; }

    public int EmployeeId { get; set; }
}

并将其用于添加和编辑视图?或者有更好的方法吗?我可以为这些视图使用UserProfile类吗?

1 个答案:

答案 0 :(得分:0)

您只需要创建一个类来实现CRUD。
在您的控制器中(或者为了更好的抽象,在服务层中),您可以调用DbContext来添加,编辑,删除或选择您的实体。

看看这里: http://www.asp.net/mvc/tutorials/getting-started-with-ef-5-using-mvc-4/implementing-basic-crud-functionality-with-the-entity-framework-in-asp-net-mvc-application

以下是添加具有类别的电影的简单示例:

    [HttpPost]
    public ActionResult CreateMovie(string Title, string Category)
    {
        Movie m = new Movie();
        m.Title = Title;
        if (Category != "" && Category != null)
            m.Category = _context.Categorys.First(c => c.Id == Int32.Parse(Category));
        _context.Movies.Add(s);
        _context.SaveChanges();

        return RedirectToAction("Index");
    }