为带有外键的实体实现CRUD



我试图在ASP中实现一个简单的CRUD操作的小应用程序。NET MVC4与实体框架。我应该如何为这个实体实现它:

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类吗?

您只需要创建一个类来实现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(m);
        _context.SaveChanges();
        return RedirectToAction("Index");
    }

最新更新