2013-09-26 49 views
0

我正在從我的MVC項目調用Web服務,如果成功,則返回進程完成。這個結果,我存儲在名爲y的變量中。如何更新實體框架中的表格?

var y = Here pass required parameters and if it is successfull store result in y 

當我把斷點在這裏,如果過程完成後,我可以看到導致變種y

所以如果過程完成,我需要更新我的表。爲此,我可以這樣做嗎?

if(y = "Process complete") 
    { 
    update table code here 
    } 

我不知道如何在實體框架中更新表。在這裏,我需要更新的表稱爲table1並設置列2 = 1,列3 = 4列的值,其中列的列1 =值1

我知道這是:

UPDATE tableName 
SET column2 = 1, column3 = context.FirstOrDefault().column4 
WHERE column1 = context.FirstOrDefault(). column1 

更新:

嗨,我才知道如何編寫代碼來更新table.But當我把突破點,來到SaveChanges方法我得到房產外銷的對象關鍵信息的一部分,不能被修改錯誤。

這是我使用來更新我的表的代碼:通過調用DbSet Add方法

 var rec = (from s in geton.table_1 
     where s.on_id == geton.table_1.FirstOrDefault().on_id 
     select s).FirstOrDefault(); 
     rec.export = 1; 
     rec.on_date = geton.table_1.FirstOrDefault().on_date; 
     geton.SaveChanges(); 
+0

首先你的更新查詢不正確,正確的是UPDATE tablename ...第二你有沒有讀過任何EF教程?http://www.codeproject.com/Articles/363040/An-Introduction-Entity-Framework-for-Absolute-B – Lev

+0

@ Nightwish91對不起我的錯誤。我更新了我的帖子。 – Raj

回答

0

嗨我知道如何編寫代碼來更新table.But當我把斷點和來savechanges方法我越來越屬性導出是對象的關鍵信息的一部分,不能修改錯誤。

這聽起來更像是一個關鍵錯誤。你確定你在桌子上放了一個主鍵嗎? 如果不是那麼EF只是使用整個表作爲關鍵本質

+0

現在它的工作.. – Raj

3

一個新的實體可以被添加到上下文。這使實體進入添加狀態,這意味着它將在下一次調用SaveChanges時插入到數據庫中。

例如:

using (var context = new YourContext()) 
{ 
    var record = new TypeName { PropertyName = "Value" }; 
    context.EntityName.Add(record); 
    context.SaveChanges(); 
} 

對於更多信息:

http://msdn.microsoft.com/en-us/library/bb336792.aspx

http://msdn.microsoft.com/en-us/data/jj592676.aspx

http://www.entityframeworktutorial.net/significance-of-savechanges.aspx

+0

嗨,感謝您的回覆。如果我遵循你的方法,我可以在哪裏添加我的位置條件?我在我的實體裏面寫了這樣的代碼:var record = new type {export = 1}; context.myentity.add(記錄); context.savechanges();.在這裏,我該如何添加應該檢查x的條件。ID == ID – Raj

+0

意思如果條件滿足,您想保存更改嗎? –

+0

嗨我更新了我的文章。你可以看看那個? – Raj