我有一个简单的种子方法:
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 方法的查询?