zoukankan      html  css  js  c++  java
  • 实体框架中的变更跟踪


    实体框架支持在上下文的生命周期内对加载的实体的自动更改跟踪。DbChangeTracker类为您提供了上下文跟踪的当前实体的所有信息。
    请注意,每个实体必须具有EntityKey(主键)属性才能被上下文跟踪。实体框架不会在没有EntityKey属性的概念模型中添加任何实体。
    以下代码片段显示了上下文类如何跟踪其中发生的实体和更改:

        class Program
        {
            static void Main(string[] args)
            {
                using (var ctx = new Jason_TestEntities())
                {
                    wolf_example example = ctx.wolf_example.Find(20051);
                    Console.WriteLine("Find wolf_example");
                    Console.WriteLine("{0}个实体的上下文跟踪更改", ctx.ChangeTracker.Entries().Count());
                    DisplayTrackedEntities(ctx.ChangeTracker);
                    Console.WriteLine("Find Products");
                    var Products = ctx.Products.Find(112459);
                    Console.WriteLine("{0}个实体的上下文跟踪更改", ctx.ChangeTracker.Entries().Count());
                    Products.ProductName = "修改111";
                    DisplayTrackedEntities(ctx.ChangeTracker);  
                    Console.WriteLine("Remove example");
                    Console.WriteLine("");
                    ctx.wolf_example.Remove(example);
                    DisplayTrackedEntities(ctx.ChangeTracker);
                    Console.ReadKey();
                }
            }
    
            private static void DisplayTrackedEntities(DbChangeTracker changeTracker)
            {
                Console.WriteLine("");
    
                var entries = changeTracker.Entries();
                foreach (var entry in entries)
                {
                    Console.WriteLine("Entity Name: {0}", entry.Entity.GetType().FullName);
                    Console.WriteLine("Status: {0}", entry.State);
                }
                Console.WriteLine("");
                Console.WriteLine("---------------------------------------");
            }
        }

     

  • 相关阅读:
    【c++】重载操作符
    关于Repository模式
    UML建模系列文章总结
    windows批量创建用户
    数据库数据导入导出系列之五 C#实现动态生成Word(转)
    C#.bat文件清理工程目录
    ASP.NET用HttpListener实现文件断点续传
    LINQ to JavaScript
    依赖注入框架Autofac的简单使用
    spring boot日期转换
  • 原文地址:https://www.cnblogs.com/lgxlsm/p/7480029.html
Copyright © 2011-2022 走看看