3

长期以来,我一直在做以下事情:

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();
}

哪种方法被认为是最佳实践,为什么?

4

2 回答 2

1

我会选择后者——因为创建对象不使用数据库上下文,所以它不必在using构造中。

于 2012-06-29T14:11:47.230 回答
1

第二种方法提供的唯一优点是,您可以避免MainContext在构造tblStoreLicenseIssue失败的情况下构造和处理实例。除此之外,这两个片段是相同的。

于 2012-06-29T14:11:57.690 回答