动态对象 - 整洁的属性名称?

时间:2011-02-07 13:34:44

标签: c# generics dynamic .net-4.0 c#-4.0

我正在使用一些代码来执行SQL并返回IEnumerable的动态对象。如果您想看到它,代码为here

我有一个包含列名的表格,例如APPLICATION_NAME;

在我的对象中,我必须像这样引用它:

var results = ReturnResults("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=rawdb;Data Source=mypc", "SELECT * FROM APPLICATIONS");

string name = results.First().APPLICATION_NAME;

有没有办法让属性名称解析为更整洁的东西?即

string name = results.First().ApplicationName;

由于

1 个答案:

答案 0 :(得分:2)

有一些ToCamelCase()个扩展名(仅google it)。但是如果你将它实现到你的动态对象中。你怎么知道你要为一个丑陋的专栏名称采取哪个闪亮的名字?

相反,您应该重写select语句以返回漂亮的名称,而不是在动态对象中实现某些算法。这句话怎么样:

SELECT APPLICATION_NAME as 'ApplicationName' FROM APPLICATIONS

所有读取sql语句的人都清楚如何通过动态对象访问列。