我有以下代碼,我無法實現保存更改。 我的方法的參數是一個字符串,它包含我想在數據庫中修改的產品的RefCode,然後查詢將拉動應該修改的BaseProduct。 (我嘗試簡化代碼並將其設置爲英文,所以我可能會引入一些語法錯誤,但在調試模式下的代碼中,我從數據庫中獲取所有信息)。 Linq查詢中的「select new」有什麼問題嗎?實體框架簡單更新
public static void UpdateProduct(ViewProduct productToUpdate)
{
using (var context = new my_Entities())
{
var BaseProduct = (from prod in context.Product
where prod.Ref == productToUpdate.BaseProduct.RefPrd
select new ViewBaseProduct
{
RefPrd = prod.Ref,
DescrPrd = prod.DescrPrd,
NormeCe = (bool)prod.NormeCE
}).FirstOrDefault();
if (BaseProduct != null)
{
//BaseProduct.NormeCe = false;
BaseProduct = productToUpdate.BaseProduct;
context.SaveChanges();
}
}
}
你是對的,ViewBaseProduct是一個ViewModel類。 我會嘗試你的建議,現在看起來如此明顯...... – Bro 2013-04-05 07:53:23
就是這樣:)感謝卡洛斯!當我在我的Linq查詢中「選擇新的ViewBaseProduct」時,我創建了一個與Enity沒有「鏈接」的對象,因此更新該對象不會影響數據庫中的數據。 – Bro 2013-04-05 09:41:02