2015-07-21 3 views
1

Я хочу обновить один столбец в LINQ to SQL. Мой запрос похож: -Обновление операции в LINQ to SQL

private void UpdateCourse() 
{ 
     OperationDataContext OdContext = new OperationDataContext(); 
     //Get Single course which need to update 
     COURSE objCourse = OdContext.COURSEs.Single(course => course.course_name == "B.Tech"); 
     //Field which will be update 
     objCourse.course_desc = "Bachelor of Technology"; 
     // executes the appropriate commands to implement the changes to the database 
     OdContext.SubmitChanges(); 
} 

Мой вопрос сначала взять запись из курсов, которые соответствуют критериям, чем это обновление. Это правильный подход? или SP - это правильное решение.

Предложите!

+0

Это может вам помочь: http: //www.codeproject.com/Articles/358445/Most-efficient-way-to-update-with-LINQ-to-SQL –

ответ

1

Это не имеет большого значения. В любом случае это сработает. если вы спрашиваете, что более эффективно, хранимые процедуры, как правило, более эффективны, но приведенное выше обновление работает очень хорошо и сохраняет всю логику обновления в коде приложения.

Насколько обновляется, запустите профайлер SQL, и вы увидите, как LINQ создает инструкцию по обновлению базы данных и взвешивает параметры самостоятельно.

+0

Да, обе будут работать нормально. Но какой из них быстрый и эффективный? Предположим, что у меня есть 15 столбцов в таблице, все из них являются varchar (max), чем LINQ TO SQL, сначала извлекают все столбцы, а не средства 2 обновления, попадающие в БД. Какой из них (выше упоминания способа или хранимой процедуры) является быстрым и предпочтительным? –

+0

LIke Я сказал, хранимые процедуры всегда будут более эффективными ... вопрос в том, насколько неэффективен LINQ. Для того, что вы пытаетесь сделать, чтобы обновить одну запись со многими текстовыми полями, хранимая процедура всегда будет быстрее, но чтение/обновление LINQ не должно быть таким неэффективным ... –

Смежные вопросы