0

让我们想象以下场景:

我有一个表“类型”和一个表“事物”。每个“事物”都有一个通过“Things.TypeId”列定义的类型,该列在“Types.Id”列上有一个外键。

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

现在让我们考虑一种方法,它尝试将所有类型为“one”的“事物”加载到我的应用程序中。

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 绑定到显示值但使用键的组合框。

于 2012-06-05T17:11:10.983 回答