繁体   English   中英

自动创建属性-数据库表之外

[英]Automatically create properties - Out of a database table

我已经四处搜寻以寻找满足我需要的解决方案,但没有成功。

假设我有一个看起来像这样的表:

ID | KeyId |名称|描述
1 | 153 |货币| XXXXXXXX
2 | 68 |签名| YYYYYYYY
3 | 983 |联系| ZZZZZZZZ。

现在,我不想通过集合来访问这些值,因为我记不清所有值了,比如说名字。

所以这不是我想要的:Values.Where(v => v.Name ==“ Currency”)。Select(v => v.KeyId);

表的内容很少更改,但仍然不是一个具有所有“名称”的结构并像这样获得KeyId的好方法。

struct Values
{
    public static int Currency
    {
        get { return GetKeyId("Currency"); }
    }
}

我正在寻找一种可以自动从该表中创建属性的解决方案。 这样我就可以使用智能感知来访问KeyId了。 正如您在ASP.NET中的资源一样。 在RESX文件中添加新条目后,该类就会自动更新。

例如: Values.Currency ,这给了我相应的KeyId。

谢谢您的回复

我相信此功能已在Microsoft PDC宣布的C#4.0(尚未发布)中添加。 但是,即使是该解决方案也可能无法为您提供Intellisense,而您尚未明确键入任何内容(因为如果考虑过这一点,Intellisense不可能帮助您键入将来可能添加的值)。

在此之前,标准做法是使用字典和/或枚举(但是字典将要求您输入字符串,并且枚举不会自动更新,或者同时使用枚举作为字典的键来获取智能帮助)。

我找到了适合我的完美解决方案=> T4模板

使用此功能,我可以遍历表并为每一行创建属性,非常好。

你去了:
示例如何使用T4
T4编辑器-免费
信息到T4编辑器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM