实体框架asp.net中的逻辑删除/软删除

时间:2013-04-11 06:11:03

标签: c# asp.net database sql-server-2008 entity-framework

任何人请在用户数据表的数据库中提供逻辑或软删除的样本。所以与删除的用户相关的数据和所有相关信息可以稍后使用查询获取。

提前致谢

2 个答案:

答案 0 :(得分:1)

您可以向用户添加标记,例如请将isDeleted。然后,当您删除用户时,您将标志设置为true。

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

    // more user properties

    public bool IsDeleted { get; set; }
}

查询未删除的用户:

var users = DatabaseContext.Users.Where(u => !u.isDeleted );

答案 1 :(得分:0)

添加到您的表'IsDeleted'列,BIT类型。假设您有表'学生',您可以标记要删除的学生,只需将'IsDeleted'列更新为1。 您可以在需要获取数据时进行过滤:

  

SELECT * FROM Student JOIN .... WHERE IsDeleted = 0