C# 在数据库中插入行的最佳方式是什么?

C# 在数据库中插入行的最佳方式是什么?,c#,asp.net,database,entity-framework,C#,Asp.net,Database,Entity Framework,长期以来,我一直在做以下工作: using(var db = new MainContext()) { // Create license issue record var n = new tblStoreLicenseIssue { Comment = comment, EmailAddress = email, Hash = mangled2, LicensedTo = name, Tim

长期以来,我一直在做以下工作:

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

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

我会选择后者——因为创建对象不使用DB上下文,它不必在
中使用
构造。

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

我使用了这两种样式,您可以采用它们中的任何一种,没有区别