DBEntityEntry类

Posted 积少成多

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DBEntityEntry类相关的知识,希望对你有一定的参考价值。

DBEntityEntry是一个重要的类,可用于检索有关实体的各种信息。您可以使用DBContext的Entry方法获取特定实体的DBEntityEntry实例。

DBEntityEntry允许您访问给定实体的所有属性的实体状态,当前和原始值。以下示例代码显示如何检索特定实体的重要信息。

    class Program
    {
        static void Main(string[] args)
        {
            using (var ctx = new Jason_TestEntities())
            {
                //数据加载到context
                wolf_example example = ctx.wolf_example.Find(20051);
                //编辑name 
                example.Name = "编辑名称";
                //获取实体对象的
                var entry = ctx.Entry(example);
                //获取实体信息,例如全名
                Console.WriteLine("Entity Name:{0}", entry.Entity.GetType().FullName);
                Console.WriteLine("Entity State:{0}",entry.State);
                Console.WriteLine("********属性值********");
                foreach (var propertyName in entry.CurrentValues.PropertyNames)
                {
                    Console.WriteLine("Property Name: {0}", propertyName);

                    //原始的值
                    var orgVal = entry.OriginalValues[propertyName];
                    Console.WriteLine("     Original Value: {0}", orgVal);

                    //现在的值
                    var curVal = entry.CurrentValues[propertyName];
                    Console.WriteLine("     Current Value: {0}", curVal);
                }         
                Console.ReadKey();
            }
        }
    }

以上是关于DBEntityEntry类的主要内容,如果未能解决你的问题,请参考以下文章

模拟或伪造 DbEntityEntry 或创建新的 DbEntityEntry

将测试替身与 DbEntityEntry 和 DbPropertyEntry 一起使用

将 SaveChange 中的旧值和新值保存为 DbEntityEntry.Entity 以进行审计

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

elasticsearch代码片段,及工具类SearchEsUtil.java

EF增删库查