我们看到System.Data.CommandType只有3个枚举:“StoredProcedure”,“TableDirect”和“Text”。为什么我们不将“视图”视为一种选择?什么是框架特定原因Microsoft不提供此选项?
我在这里专门谈论SQL Server视图。
您的回答将受到高度赞赏。
答案 0 :(得分:1)
因为View
可以通过TableDirect
或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中的表。它有一个真正的表定义,它恰好是用查询构建的。
答案 1 :(得分:0)
大多数情况下,View不是单独使用,而是作为查询或SP的一部分使用。因此,没有必要提供专用的CommandType。函数也是如此 - 没有CommandType.Function。