.net – 我应该在我的数据库中使用枚举或查询表吗?
发布时间:2020-12-12 16:55:02 所属栏目:MsSql教程 来源:网络整理
导读:在我的数据库中,我有一些定义类型的表 表:出版类型 ID | Type----------1 | Article2 | Abstract3 | Book.... 通过ID键与具有字段TypeID的发布表相关联. 然后,我创建一个PublishTable数据表我的.NET应用程序,我想基于发布类型进行过滤.例如,以下函数给出了特
在我的数据库中,我有一些定义类型的表
表:出版类型 ID | Type ---------- 1 | Article 2 | Abstract 3 | Book .... 通过ID键与具有字段TypeID的发布表相关联. 然后,我创建一个PublishTable数据表我的.NET应用程序,我想基于发布类型进行过滤.例如,以下函数给出了特定作者和出版物类型的出版物数量. Public Function countPublications(ByVal authorID As Integer,_ ByVal publicationType As Integer) As Integer Dim authPubs As New PublicationsDataSet.tblPublicationsDataTable authPubs = Me.getAuthorsPublications(authorID) Dim dv As New DataView(authPubs) dv.RowFilter = "status='published' AND type='" + _ publicationType.ToString + "'" Return dv.Count End Function 要调用这个函数来获取特定类型的作者的文章数量,我可以 >使用两个整数调用函数 countPublications(authorID,1) countPublications(authorID,pubType.Article) 要么 我应该考虑哪些其他方法? 谢谢 解决方法如果发布类型基本上是静态的,枚举是正确的嵌入之间几乎没有区别 inner join lookuptable lt on lt.id = (int)myenum.sometype 在查询和添加 inner join lookuptable lt on lt.name = "somehardcodeddescription" 它们都是嵌入式常量,前者只是一个明确的类型 你可以交替使用 inner join lookuptable lt on lt.name = myenum.sometype.ToString 我更喜欢前者 另一方面,如果在部署代码之后可能会添加新的查找类型,那么枚举将很快过时; 但是如果存在代码需要的核心集静态枚举值,而其余的则不重要,那么以前的解决方案仍然很好 像往常一样,“依赖”;-) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |