EFCore 状态跟踪

 

 //
    // 摘要:
    //     The state in which an entity is being tracked by a context.
    public enum EntityState
    {
        //
        // 摘要:
        //     The entity is not being tracked by the context.
        Detached = 0,
        //
        // 摘要:
        //     The entity is being tracked by the context and exists in the database. Its property
        //     values have not changed from the values in the database.
        Unchanged = 1,
        //
        // 摘要:
        //     The entity is being tracked by the context and exists in the database. It has
        //     been marked for deletion from the database.
        Deleted = 2,
        //
        // 摘要:
        //     The entity is being tracked by the context and exists in the database. Some or
        //     all of its property values have been modified.
        Modified = 3,
        //
        // 摘要:
        //     The entity is being tracked by the context but does not yet exist in the database.
        Added = 4
    }

 

生命周期

var adduser =new UserInfo(){

   UserName="test1",

   UserAge=18,

   Description=".net"

}

using (EFCoreDbContext context=new EFCoreDbContext())
                    {
                        Console.WriteLine(context.Entry<UserInfo>(adduser).State);//Detached
                        context.UserInfo.Add(addurl);
                        Console.WriteLine(context.Entry<UserInfo>(adduser).State);//Added
                        context.SaveChanges();
                        Console.WriteLine(context.Entry<UserInfo>(adduser).State);//Unchanged
                        addurl.UserName = "添加2";
                        Console.WriteLine(context.Entry<UserInfo>(adduser).State);//Modified
                        context.SaveChanges();
                        Console.WriteLine(context.Entry<UserInfo>(adduser).State);//Unchanged
                        context.UserInfo.Remove(addurl);
                        Console.WriteLine(context.Entry<UserInfo>(adduser).State);//Deleted
                        context.SaveChanges();
                        Console.WriteLine(context.Entry<UserInfo>(adduser).State);//Detached
                       
                    }

 

posted @ 2021-08-07 16:32  qingjiawen  阅读(237)  评论(0编辑  收藏  举报