C# 以正确的方式分离数据
让我们设想以下场景: 我有一个桌子类型和一个桌子的东西。每个thing都有一个通过Things.TypeId列定义的类型,该列在Types.Id列上有一个外键 现在我想通过我的C代码访问这些类型,C代码将这些类型加载到一个列表中,以便在我的应用程序中使用它 现在让我们考虑一个方法,它尝试将所有类型为1的东西加载到我的应用程序中 从TypeId={0}中选择* 我现在在哪里可以获得类型1的TypeId?通常情况下,枚举将适用于此,但我们不能使用枚举,因为类型存储在我的数据库中,并在运行时检索C# 以正确的方式分离数据,c#,sql-server,C#,Sql Server,让我们设想以下场景: 我有一个桌子类型和一个桌子的东西。每个thing都有一个通过Things.TypeId列定义的类型,该列在Types.Id列上有一个外键 现在我想通过我的C代码访问这些类型,C代码将这些类型加载到一个列表中,以便在我的应用程序中使用它 现在让我们考虑一个方法,它尝试将所有类型为1的东西加载到我的应用程序中 从TypeId={0}中选择* 我现在在哪里可以获得类型1的TypeId?通常情况下,枚举将适用于此,但我们不能使用枚举,因为类型存储在我的数据库中,并在运行时检索 如何
如何处理此问题?您可以通过连接来完成此操作
select things.*
from things
join type on thing.typeID = type.typeID
where type.name = 'one'
或者,当程序启动时,您可以使用typeID键和name值将type加载到字典中。您还可以将DictionaryList绑定到组合框,在组合框中显示值,但使用键。谢谢您的回答。但这意味着将冗余数据保存为数据库中的“一”,而代码中的常量问题是“一”。然后看我回答的第二部分。在程序加载时,将键和值检索到集合中。NET中的大量集合。字典只是其中之一。