为什么要使用Entity Framework的DbEntity?

时间:2013-04-28 08:52:18

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

当我基于VS2012单页面MVC Web应用程序生成项目时,基础项目包含许多对DbEntity的引用。

为什么:

db.Entry(todoList).Entity.UserId

而不仅仅是:

todoList.UserId

它在示例ApiControllers中重复使用此间接,但只调用一次特定于DbEntityEntry的成员(State属性)。是否有一些重要的理由使用我忽略的东西?

编辑:这是一个更大的片段

// DELETE api/TodoList/5
[ValidateHttpAntiForgeryToken]
public HttpResponseMessage DeleteTodoList(int id) {
    TodoList todoList = db.TodoLists.Find(id);
    if (todoList == null) {
        return Request.CreateResponse(HttpStatusCode.NotFound);
    }

    if (db.Entry(todoList).Entity.UserId != User.Identity.Name) {
        // Trying to delete a record that does not belong to the user
        return Request.CreateResponse(HttpStatusCode.Unauthorized);
    }

1 个答案:

答案 0 :(得分:2)

我相信它可以确保您引用数据库实体,而不仅仅是一个可能没有数据库存在的实例(该模型类)。