以正确的方式分离数据

时间:2012-06-05 17:08:05

标签: c# sql-server

让我们假设以下情况:

我有一张桌子“类型”和一张桌子“东西”。每个“thing”都有一个通过“Things.TypeId”列定义的类型,该列在“Types.Id”列上有一个外键。

现在我想通过我的C#-Code访问这些类型,它将类型加载到List中,以便我可以在我的应用程序中使用它。

现在让我们想一个方法,尝试将所有类型为“one”的“Things”加载到我的应用程序中。

SELECT * FROM Things WHERE TypeId = {0}"

我现在在哪里获得Type“1”的TypeId?通常,枚举适合于此,但我们不能使用枚举,因为类型存储在我的数据库中并在运行时检索。

我该如何处理这个问题?

1 个答案:

答案 0 :(得分:2)

您可以通过加入

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

或者当程序启动时,您可以将类型加载到具有typeID键的字典中并命名该值。您还可以将DictionaryList绑定到Combobox,您可以在其中显示值但使用键。