我想知道......之間的區別使用DbContext和不使用語句[代碼優先]有什麼區別?
using (var db = new PteDotNetContext())
{
var blog = new Blog() { BlogType = 1, Title = "Blog 1", Description = TestInfo.UniqueRecordIdentifier, DateAdded = DateTime.Now, User = TestInfo.UniqueRecordIdentifier };
db.Blogs.Add(blog);
db.SaveChanges();
}
PteDotNetContext context2 = new PteDotNetContext();
var blog2 = new Blog() { BlogType = 1, Title = "Blog 2", Description = TestInfo.UniqueRecordIdentifier, DateAdded = DateTime.Now, User = TestInfo.UniqueRecordIdentifier };
context2.Blogs.Add(blog2);
context2.SaveChanges();
是什麼。我明白,使用using語句基本上調用對象上的析構函數。我只是想知道......
a)使用語句是否打開並關閉DbContext上的Sql連接? b)如果是這樣,第二個陳述會發生什麼,因爲我從來沒有真正打開它,它仍然有效。那麼我什麼時候結束這個聲明呢?
您需要研究'IDisposable'。 – 2012-04-13 16:13:35
並搜索「C#using」。但是,這可能是一個稍微涉及的問題。例如,*在LINQ2SQL *中,Dispose將關閉連接*當且僅當* * * *之前打開*。我不確定EF。 (所以請注意*使用'*的一般回覆!) – 2012-04-13 16:21:37