让我们假设以下情况:
我有一张桌子“类型”和一张桌子“东西”。每个“thing”都有一个通过“Things.TypeId”列定义的类型,该列在“Types.Id”列上有一个外键。
现在我想通过我的C#-Code访问这些类型,它将类型加载到List中,以便我可以在我的应用程序中使用它。
现在让我们想一个方法,尝试将所有类型为“one”的“Things”加载到我的应用程序中。
SELECT * FROM Things WHERE TypeId = {0}"
我现在在哪里获得Type“1”的TypeId?通常,枚举适合于此,但我们不能使用枚举,因为类型存储在我的数据库中并在运行时检索。
我该如何处理这个问题?
答案 0 :(得分:2)
您可以通过加入
来完成select things.*
from things
join type on thing.typeID = type.typeID
where type.name = 'one'
或者当程序启动时,您可以将类型加载到具有typeID键的字典中并命名该值。您还可以将DictionaryList绑定到Combobox,您可以在其中显示值但使用键。