我确保完全理解以下代码:
static void Main(string[] args)
{
var person = new Person {FirstName = "Nadege",
LastName = "Deroussen", BirthDate = DateTime.Now};
using (var context = new MyContext())
{
context.Persons.Add(person);
context.SaveChanges();
}
Console.Write("Person saved !");
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
如您所见,使用后跟{},如果我错了,纠正我,是否意味着在{}后关闭上下文?一个DBContext应该每次关闭这样的话吗?
干杯全都
如果我错了,请纠正我,这是否意味着在{}后关闭上下文?
会被处理掉,是的.你的代码是有效的:
var context = new MyContext();
try
{
context.Persons.Add(person);
context.SaveChanges();
}
finally
{
context.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
一个DBContext应该每次关闭这样的话吗?
假设这是LINQ to SQL,您实际上不需要处理上下文.但是,一般来说,处理任何实现的东西是个好主意IDisposable- 除非你真的知道你不需要.(基本上在某些情况下,实施IDisposable其他东西是不方便的副作用.)即使在这种情况下,我会继续这样做.