【问题标题】:How to create complex datatype for column with spaces in the name?如何为名称中带有空格的列创建复杂数据类型?
【发布时间】:2016-06-25 02:09:03
【问题描述】:

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

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

【问题讨论】:

  • 可以修改存储过程吗?如果没有,您能否创建一个包装存储过程,调用该过程,然后返回具有不同列名的结果?
  • 我问这个问题是因为我无法修改存储过程。

标签: c# sql entity-framework entity-framework-4


【解决方案1】:

我找到了答案。

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-07-29
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 2018-12-14
      • 2014-07-25
      • 2012-08-15
      • 1970-01-01
      相关资源
      最近更新 更多