2011-08-22 8 views
1

난 그냥 카테고리 테이블과 제품 테이블과 관련 테이블을 갱신이를 얻기 위해 광기를 가지고 있어요 작동하지 ...하지만 난 그 일에 성공을가 타격 ...업데이트 문은 LINQ

내가이 테이블

   product product_id 
         product_name 
         product_description 
         product_price 
         product_image 


       category category_id 
         catgory_name 
         category_desc 

내가 엔티티 프레임 워크를 사용하여 .... 테이블을 업데이트하기 위해이 같은 짓을 ...

private void btnSave_Click(object sender, EventArgs e) 
    { 

     if (lblHiddenmode.Text == "Edit") 
     { 
      using (var dbcontext = new TsgEntities()) 
      { 
       pictureBox1.Enabled = true; 
       pictureBox1.Visible = true; 
       Image image = pictureBox1.Image; 
       byte[] bit = null; 

       bit = imageToByteArray(image); 
       product1 pd = new product1(); 

       string category = cbcategorytypes.Text; 
       string categorydesc = tbCategoryDescription.Text; 

       var c = new category { category_Name = category, category_Description = categorydesc }; 

       pd.product_Name = tbProductName.Text; 
       decimal price = Convert.ToDecimal(tbProductPrice.Text); 
       pd.product_Price = price; 
       pd.product_Description = tbProductdescription.Text; 
       pd.product_Image = bit; 
       pd.category = c;      
       dbcontext.SaveChanges();     
       this.Close(); 
      } 
     } 

    } 

참고 : 나는 4 일이 PRODUCT_ID이있는 제품 이름입니다 업데이트하고 있어요 category_id = 4

그러나이 문장에는 이 표시됩니다. pd.category = c; 난 = "0"과 CATEGORY_ID = "0"

.. 업데이트 문에 문제가있는 범주 테이블과 테이블을 업데이트 할 때 내가 잘못하고 오전

답변

2

에 코드를 위의 생산합니다 삽입하지 업데이 트 :

당신은 같은 것을 할 필요가있다. 업데이트를 수행하려면 먼저 컨텍스트에서 product1 인스턴스를 검색해야합니다.

나는 당신의 상황이 어떻게 생겼는지 모르는, 그래서 정확한 코드를 게시 할 수는 없지만,이 같은 것입니다 :

product1 pd = dbcontext.protucts.Where(p => p.productid == 4 
             && p.categoryid == 4).First(); 

당신은 다음을 변경하고 dbcontext.SaveChanges()를 호출 할 수 있습니다 귀하의 기록을 갱신해야합니다.

+0

내가 어떻게해야 할 당신이 친밀한 pls –

+0

pls이 날 좀 도와 주시겠습니까. .. –

+0

많은 도움을 주신 Adam ..... –

1

당신이 실제로 추가하지 않는 개체를 PRODUCT_ID있어 귀하의 컨텍스트에.

dbcontext.products.AddObject(pd1); 
+0

이것은 작동하지 않습니다 .. 그것은 테이블을 업데이 트하지 않습니다 .... –

+0

당신이 pls이 나를 도와 주시겠습니까 ... –