0

我有一个简单的种子方法:

    protected override void Seed(YourContext context)
    {
        var person = new Person() {Name = "SeededPerson", BirthDate = new DateTime(1900, 1, 1)};
        context.Persons.Add(person);
        base.Seed(context);
    }

这已经运行了几次,但从那以后我将数据库初始化程序设置为 Null os,它不再使用。

        Database.SetInitializer<YourContext>(null); //Nothing is done

该项目是一个控制台应用程序,只有这行代码:

        using (var context = new YourContext())
        {
            var person = context.Persons.Find(1);
            Console.WriteLine(person.Name);
        }

SQL 探查器不返回任何内容。

但是,如果我使用 SingleOrDefault,我会在 SQL 分析器中看到 SELECT。

我知道 Find 方法首先进入本地内存,但由于未调用 Seed 方法并且仅为两行代码创建上下文,它不应该在内存中。

为什么我在 SQL 分析器中没有看到使用 Find 方法的查询?

4

0 回答 0