2

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

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

您的回答将不胜感激。

4

2 回答 2

1

因为 aView可以通过TableDirector访问Text。无论如何,最常见的访问是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 中表示为表。它有一个真正的表定义,它恰好是用查询构建的。

于 2013-08-30T19:08:51.880 回答
0

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

于 2013-08-30T19:16:03.487 回答