如何创建数组DbParameter []

Tys*_*Tys 5 c# sql executescalar

手册说应该使用ExecuteScalar方法,如:

public T ExecuteScalar<T>( 
   string commandText,
   CommandType commandType,
   params DbParameter[] parameters
)
Run Code Online (Sandbox Code Playgroud)

但是如何创建参数数组呢?我需要提供我的存储过程2个参数.

Jua*_*ala 8

  • DbParameter是一个抽象类.
  • 由于无法根据用途推断出类型T,因此必须指定它.
  • 虽然你可以在不创建数组的情况下传递可变数量的参数,但如果你动态创建可变数量的参数,那么数组就是你的朋友.

    var parameters = new[]{
                new SqlParameter(){ ParameterName="foo", Value="hello" },
                new SqlParameter(){ ParameterName="bar", Value="World" }
            };
    x.ExecuteScalar<int>(commandText, commandType, parameters);
    
    Run Code Online (Sandbox Code Playgroud)