如何为名称中带空格的列创建复杂的数据类型?

我有一个存储过程,返回列名称中带有空格和短划线的列。 我不能简单地使用“获取列信息”按钮为该存储过程自动生成复杂类型。

如何处理字段名称中的空格和破折号,因为它们不是C#中字段名称的合法字符?

我找到了答案。

继续创建复杂类型,用下划线代替列名中的空格,或者遵循您喜欢的任何约定来命名复杂类型中的字段。

然后,在模型浏览器中单击您的函数导入。 在Visual Studio 2010窗口的底部,应该有一个标签显示“映射详细信息”。 在这里,您可以指定与复杂类型中的每个字段对应的列的名称。 在此处键入带有空格的列名称。

另一种方法是使用SqlDataAdapter来执行存储过程。 然后,您可以使用Fill方法将内容存储到DataSet中,然后您可以在其中遍历行。 这适用于具有空格的列。 有关此问题的详细解决方案,请参阅此处的post。