2014-03-03 2 views
0

매개 변수가있는 "공통"그리드를 작성해야합니다. 문제는 삭제 작업에서 테이블을 변수로 참조 할 수 없다는 것입니다. edmx 모델을 사용합니다.테이블 이름을 대체하는 방법

public ActionResult PartialView_GridCommonDelete(System.Int64 data_autoinc) 
{ 
    var table = ViewBag.CurrentTable; 
    var key= ViewBag.Key; 

    if (data_autoinc != null) 
    { 
     try 
     { 
      //ERROR HERE 
      var item = **ent.table**.FirstOrDefault(it => it.product_autoinc == data_autoinc); 
      if (item != null) 
       ent.tabla.Remove(item); 
      ent.SaveChanges(); 
     } 
     catch (Exception e) 
     { 
      ViewData["EditError"] = e.Message; 
     } 
    } 

    return PartialView("PartialView_GridCommon", ViewBag.CurrentSql); 
} 

동적으로 테이블 이름을 바꾸어 여러 테이블에 사용할 수 있습니까? 당신이 할하려는 것은 ORM 즉 런타임에 테이블을 정의함으로써 달성 할 수없는

+0

은 당신의 테이블 클래스는 기본 클래스에서 상속하는 경우, 당신은 테이블 이름, 혹은 인터페이스 대신에 그 기본 클래스를 사용할 수있는이 문제에 대한 일반적 * * 코멘트 수 있습니다. – Yahya

+0

답변 해 주셔서 감사합니다. 간단한 예를 들어 주시겠습니까? 저는 C#의 초보자입니다. – starhu

+0

'ViewBag.CurrentTable'에서 무엇을 얻었습니까? 당신은'ViewBag.CurrentTable.FirstOrDefault (it => it.product_autoinc == data_autoinc);'시도해 볼 수 있습니다. – Yahya

답변

0

감사합니다.

당신이 시도 할 수 있습니다 것은 :

context.Database.ExecuteSqlCommand("TRUNCATE TABLE [TableName]"); 

명시 적으로 테이블 이름을 전달하고

그것을 시도 줄 당신의 SQL 쿼리 발사 할 수 있습니다.

덕분에 Nipun

관련 문제