猿教程 Logo

Entity Framework Local Data

DBSet的Local属性提供对当前由上下文跟踪并且尚未标记为已删除的实体的简单访问。 本地跟踪实体状态为添加,修改和不变的实体。 例如:

using System.Data.Entity;
class Program
    {
        static void  Main(string[] args)
        {
        using (var ctx = new SchoolDBEntities())
            {
                ctx.Students.Load();
                ctx.Students.Add(new Student() { StudentName = "New Student" });
                
                var std1 = ctx.Students.Find(1); // find student whose id = 1
                ctx.Students.Remove(std1);// remove student whose id = 1
                
                var std2 = ctx.Students.Find(2); // find student whose id = 1
                std2.StudentName = "Modified Name";
                
                // Loop over the students in context's local.
                Console.WriteLine("In Local: ");
                foreach (var student in ctx.Students.Local)
                {
                    Console.WriteLine("Found {0}: {1} with state {2}",
                                        student.StudentID, student.StudentName,
                                        ctx.Entry(student).State);
                }
                // Get all students from db.
                Console.WriteLine("\nIn DbSet query: ");
                foreach (var student in ctx.Students)
                {
                    Console.WriteLine("Found {0}: {1} with state {2}",
                                        student.StudentID, student.StudentName,
                                        ctx.Entry(student).State);
                }
            }
        }
    }

运行结果:

In Local : 
Found 0: New Student with state Added 
Found 2: Modified Name with state Modified 
Found 3: Student3 with state Unchanged


In DbSet query: 
Found 1: New Student with state Deleted 
Found 2: Modified Name with state Modified 
Found 3: Student3 with state Unchanged

正如你在上面的输出中可以看到的,local跟踪其状态为Added,Modified或Unchanged的实体,其中DbSet集合包含状态为Deleted,Modified或Unchanged的所有实体。

访问MSDN了解更多关于Local的信息。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/entity/local-data-in-entity-framework5.html