当我们使用Entity Framework时,实体可能处于以下状态之一:已添加,未更改,已修改,已删除或已分离。在桌面应用程序中,状态更改通常是自动设置,但在Web应用程序中,我们必须手动设置实体状态。
我想知道为什么?
答案 0 :(得分:2)
通常,实体框架会跟踪实体的状态。
然而,在Web应用程序中,当从数据库中检索实体时,它将被发送到浏览器,并且实体框架不再能够"参见"实体,它无法再跟踪对其所做的任何更改。
因此,您是否必须手动告知实体框架是否应将来自Web请求的实体(例如来自表单帖子)视为新的实体(应插入)或者是否与现有实体相对应在数据库上(并且应该更新)或者是否应该删除它。
答案 1 :(得分:0)
需要跟踪更改,找出您已更改附加实体的值,以及实体框架应对该附加实体执行的操作。手动设置状态对于分离的情况非常重要实体,但不是一直要求,如果您需要更多详细信息,那么您应该在您的问题上发布一些查询或示例代码。