سلام دوستان .بنده از linq برای آپدیت کردن رکوردهای داخل جداول سایتم استفاده میکنم به این صورت

var article = (from c in database.Articles_Articles
where c.ArticleID == Int32.Parse(Label_ID.Text)
select c).Single();
if (Editor.Text == null)
{
Label_Message.Text = "لطفا متن مقاله را وارد نمایید";
return;
}
else
{
article.Priority = Int32.Parse(TextBox_Priority.Text);
article.Abstract = HtmlSanitizer.Sanitize(TextBoxAbstarct.Text.Replac e("&lt;img", "<img").Replace("img&gt;", "img>"));
//article.AddedBy = Sanitizer.GetSafeHtmlFragment(TextBox_UserName.Tex t);
//article.UserID = Sanitizer.GetSafeHtmlFragment(TextBox_UserName.Tex t); article.Language = DropDownListLanquage.SelectedValue;
article.CategroyID = Int32.Parse(DropDownList_CategoryUpdate.SelectedVa lue);
article.Body = HtmlSanitizer.Sanitize(Editor.Text.Replace("&lt;im g", "<img").Replace("img&gt;", "img>"));
article.CommentsEnabled = CheckBox_CommentsEnabled.Checked;
//article.DownloadCount = Int32.Parse(txtDownloadCount.Text);
article.DownloadFileSize = Sanitizer.GetSafeHtmlFragment(txtSizeOfFile.Text);
//article.IsDeleted = chIsDeleted.Checked;
article.IsPublished = chIsPublished.Checked;
//article.OnlyForMembers = CheckBox_OnlyForMembers.Checked;
article.PasswordZipFile = Sanitizer.GetSafeHtmlFragment(txtPasswordZipFile.T ext);
article.Source = Sanitizer.GetSafeHtmlFragment(txtSource.Text);
article.Title = Sanitizer.GetSafeHtmlFragment(TextBox_Title.Text);

article.keywords = Sanitizer.GetSafeHtmlFragment(TextBox_Tags.Text);
//article.ViewCount = Int32.Parse(txtViewCount.Text);
database.SubmitChanges();

GridView_ArticleList.DataBind();
}




سوالم اینه که برای آپدیت کردن به وسیله linq اول باید رکورد مورد نظر پیدا بشه و بعد عمل آپدیت صورت بگیره که نیاز به یک select و یک update هست .به نظرتون بهتر نیست از یک stone procedure استفاده بشه که نیازی به دستور select هم نباشه؟با تشکر