我在数据库中有一个表格,用于我的应用程序中的各种设置。可以随时添加或更改这些设置。我想将它们从数据库中拉出到一个对象中,并在我的服务器代码(C#)和客户端代码(JS)中引用它们。
SettingGroup SettingName type value
Core defaultPagingSize numeric 5
Core pagingType text dynamic
Ecommerce showGallery boolean true
在javascript中,我可以将它们放入JSON对象并像这样引用它们:
var size = settings.core.defaultPagingSize;
我在C#中有类似的方式吗?
int size = settings.core.defaultPagingSize;
答案 0 :(得分:2)
没有
将为.NET和C#4.0添加的新dynamic
关键字将处理您正在寻找的内容,但在当前的.NET和C#版本中,不支持此。
你应该可以让它工作:
int size = settings["core"]["defaultPagingSize"].ToInt32();
或类似的东西。
答案 1 :(得分:2)
在.NET中,最直接的答案是使用某种字典(可能是嵌套的)。 C#4.0引入了一些动态概念,但是你需要编写一些代码才能让它像javascript一样运行。
或者,将它们存储为平面列表中的类型记录并使用LINQ:
var setting = settings.Single(x=>x.Group == "Core"
&& x.Name == "defaultPagingSize");
int value = int.Parse(setting.Value);