2012-06-05 2 views
0

다음 상황을 상상해 봅시다 :올바른 방법으로 데이터 분리

"Types"테이블과 "Things"테이블이 있습니다. 각 "물건"에는 "Types.Id"열에 외래 키가있는 "Things.TypeId"열을 통해 정의 된 유형이 있습니다.

이제 응용 프로그램에서 사용할 수 있도록 목록을 형식으로로드하는 C# 코드를 통해 이러한 형식에 액세스하려고합니다.

이제 응용 프로그램에 "one"유형이있는 모든 "Things"를로드하려고 시도하는 메소드를 생각해 보겠습니다.

SELECT * FROM Things WHERE TypeId = {0}"

어디 이제 유형 "하나"에 대한 유형 ID를받을 수 있나요? 일반적으로 열거 형은 적합하지만 열거 형을 사용할 수 없습니다. 유형이 내 데이터베이스에 저장되고 런타임에 검색되므로 열거 형을 사용할 수 없습니다.

어떻게이 문제를 해결할 수 있습니까?

답변

2

당신은 조인

select things.* 
from things 
join type on thing.typeID = type.typeID 
where type.name = 'one' 

또는 함께 할 수있는 프로그램은 유형 ID 키와 사전에 형식을로드하고 값의 이름을 수 시작할 때. 값을 표시하지만 키를 사용하면 해당 DictionaryList를 Combobox에 바인드 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 그러나 그것은 중복 데이터를 저장하는 것을 의미 할 것입니다 ('하나'는 데이터베이스에 있고, 상수는 코드에 있음) – SeToY

+0

질문은 "하나"였습니다. 그럼 내 대답의 두 번째 부분을보십시오. 프로그램로드시 키와 값을 컬렉션으로 가져옵니다. .NET의 많은 컬렉션. 사전은 하나뿐입니다. – Paparazzi

관련 문제