2009-06-18 6 views
0

안녕하세요 저는 일부 값 (ID)이있는 테이블을 가지고 있습니다. 물론 결과를 얻었을 때 int ID 만 가져 왔지만 더 친숙하게 사용하고 싶습니다. 예를 들어 숫자 1 일 때, "Avaible"이라는 문자열을 넣고 싶을 때, 2 단계 "Not avaible"일 때 N 계층 환경에 im을 넣고 이것을 수행 할 필요가있다. 이것을 수행하는 가장 좋은 방법은 무엇인가? 문자열을 투영하기 위해 다른 클래스를 선언해야하거나 사전과 같은 키 -> 값을 사용해야합니다.LINQ to SQL 및 데이터 투영, MVC

지금 난 그냥이이

return from t in db.products where t.productID==productID select t; 

답변

1

당신이 제품의 상태를 포함하는 다른 테이블이 필요 LINQ to SQL은을 사용하는 경우

Table Name: Product Status 
Fields:  ProductStatusID int Indentity Primary Key 
      ProductStatus  nvarchar(50) 

이 당신의 제품 테이블에 필드를 추가

Field to Add: ProductStatusID int 

새 테이블에 일부 상태를 추가하고 각 제품의 ProductStatusID를 appro priest status id.

두 ProductStatusID 필드를 연결하는 제약 조건을 추가하십시오. 가장 쉬운 방법은 SQL Server Management Studio Express에서 다이어그램을 만들고 두 테이블을 다이어그램으로 끌어온 다음 ProductStatus 테이블의 ProductStatusID 필드를 Products 테이블로 끌어온 다음 열리는 대화 상자에서 확인을 클릭하는 것입니다.

Linq to SQL 데이터 클래스를 다시 빌드하십시오. DBML 파일을 삭제하고 다시 만들고 테이블을 디자이너로 다시 드래그하면됩니다.

p.ProductStatus <-- The text description of the product's status. 

SQL에 Linq에 당신의 ProductStatus 테이블에 도달 할 것이며, 적절한 상태에 대한 설명을 조회 : 당신이 제품은 당신의 DataContext 개체에서 (p)를 개체를 얻을 때

, 당신은 지금이 표시됩니다.