C# web应用程序和桌面应用程序中的实体状态

C# web应用程序和桌面应用程序中的实体状态,c#,asp.net,asp.net-mvc,entity-framework,web,C#,Asp.net,Asp.net Mvc,Entity Framework,Web,当我们使用实体框架时,实体可能处于以下状态之一:添加、不变、修改、删除或分离。在桌面应用程序中,状态更改通常是自动设置的,但在web应用程序中,我们必须手动设置实体状态

当我们使用实体框架时,实体可能处于以下状态之一:添加、不变、修改、删除或分离。在桌面应用程序中,状态更改通常是自动设置的,但在web应用程序中,我们必须手动设置实体状态<我想知道为什么

通常,实体的状态由实体框架跟踪

但是,在web应用程序中,当从数据库检索实体时,它将被发送到浏览器,实体框架无法再“查看”该实体,也无法再跟踪对其所做的任何更改


因此,您必须手动告诉Entity Framework,来自web请求的实体(例如,来自表单帖子的实体)是否应被视为新实体(并且应被插入),或者它是否对应于数据库中的现有实体(并且应被更新),或者它是否应被删除。

需要跟踪更改,要了解您对附加实体的值做了哪些更改,以及实体框架应该对附加实体执行哪些操作。在分离实体的情况下,手动设置状态很重要,但并不总是必需的。如果您需要有关此方面的更多详细信息,则应发布一些查询或有关问题的示例代码