0

次のシナリオを想像してみましょう。

テーブル「Types」とテーブル「Things」があります。各「thing」には、「Things.TypeId」列を介して定義されたタイプがあり、「Types.Id」列に外部キーがあります。

次に、C#コードを介してこれらのタイプにアクセスします。これにより、タイプがリストに読み込まれ、アプリケーションで使用できるようになります。

次に、タイプが「one」のすべての「Things」をアプリケーションにロードしようとするメソッドについて考えてみましょう。

SELECT * FROM Things WHERE TypeId = {0}"

タイプ「one」のTypeIdはどこで入手できますか?通常、列挙型はそれに適していますが、型はデータベースに保存され、実行時に取得されるため、列挙型を使用することはできません。

この問題にどのように対処できますか?

4

1 に答える 1

2

あなたは結合でそれを行うことができます

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

または、プログラムの開始時に、typeID をキーにして値に名前を付けて、タイプをディクショナリにロードできます。その DictionaryList を Combobox にバインドして、値を表示するがキーを使用することもできます。

于 2012-06-05T17:11:10.983 に答える