我们正在开发一个使用 C# 编写并使用 NHibernate 将对象映射到数据库的医院信息系统。MVC 模式用于将业务逻辑与 UI 分离。问题来了,
如何将可变大小的不同字符串集传递给 UI?
例如,一个Contact
对象有一个名为的属性,该属性City
保存了哪个城市联系人居住。在编写应用程序的国家/地区有 80 多个城市。你怎么能把这些城市写到一个组合框中?(或数据网格、表格……)在此示例中,城市编号是固定的。很长一段时间没有必要添加另一个城市。(如果城市列表发生变化,重新编译不是问题)
例如,一个Contact
对象有另一个名为的属性FooBar
,它将保存 1000 个不同的字符串值,这些值将从该属性的组合框中选择。如果用户愿意,这个集合可以增长。您如何使用这些值加载组合框?(如果字符串列表静态写入组合框对象,重新编译是有问题的)
我有不同的解决方案如下
- 在代码或设计器中静态写入组合框的所有字符串值
- 从资源文件中获取值
- 将这些值写入 XML 文件(实际上与上面相同,但无需重新编译)
- 使用 NHibernate创建一个
City
对象并将值从表中获取到列表中CITY
- 创建一个
StringHolder
具有Type
andValue
属性的类。所有字符串值(包括City
和FooBar
)都将写入一个名为 的表中STRINGHOLDER
。并通过 NHibernate 使用“CITY”或“FOOBAR”等键获取这些值。
你会选哪一个?或者你能给我推荐一个吗?
谢谢大家