SQLCommandType.View - 为什么MS不提供这个?

时间:2013-03-05 14:11:28

标签: c# .net vb.net ado.net

我们看到System.Data.CommandType只有3个枚举:“StoredProcedure”,“TableDirect”和“Text”。为什么我们不将“视图”视为一种选择?什么是框架特定原因Microsoft不提供此选项?

我在这里专门谈论SQL Server视图。

您的回答将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

因为View可以通过TableDirectText访问。最常见的访问方式是Text,因为您通常会执行以下操作:

DataTable dt = new DataTable();

using (SqlConnection c = new SqlConnection(cString))
{
    using (SqlDataAdapter sda = new SqlDataAdapter(sql, c))
    {
        sda.SelectCommand.Parameters.Add("parm1", value1);

        c.Open();
        sda.Fill(dt);
    }
}

最后,视图实际上表示为SQL Server中的表。它有一个真正的表定义,它恰好是用查询构建的。

答案 1 :(得分:0)

大多数情况下,View不是单独使用,而是作为查询或SP的一部分使用。因此,没有必要提供专用的CommandType。函数也是如此 - 没有CommandType.Function。