很长一段时间我一直在做以下事情:
using(var db = new MainContext())
{
// Create license issue record
var n = new tblStoreLicenseIssue
{
Comment = comment,
EmailAddress = email,
Hash = mangled2,
LicensedTo = name,
Timestamp = unixTime,
ValidClaimID = validClaimID
};
db.tblStoreLicenseIssues.InsertOnSubmit(n);
db.SubmitChanges();
}
但我想知道这种方法是否具有任何优势:
var n = new tblStoreLicenseIssue
{
Comment = comment,
EmailAddress = email,
Hash = mangled2,
LicensedTo = name,
Timestamp = unixTime,
ValidClaimID = validClaimID
};
using(var db = new MainContext())
{
db.tblStoreLicenseIssues.InsertOnSubmit(n);
db.SubmitChanges();
}
哪种方法被认为是最佳做法,为什么?
答案 0 :(得分:1)
我会使用后者 - 因为创建对象不使用DB上下文,所以它不必位于using
构造中。
答案 1 :(得分:1)
第二种方法提供的唯一优势是,在构造MainContext
失败的情况下,您将避免构造和处置tblStoreLicenseIssue
的实例。除此之外,这两个片段是相同的。