params是一个关键字,且必须放在所有参数的最后位置,搭配数组应用,数组类型你随意。表示参数数量可变。
方法设置
public List<T> Query<T>(string sql, params object[] parameters) { using (var context = new WELLSDBContext()) { var data = context.Database.SqlQuery<T>(sql, parameters); return data.ToList(); } }
传入0个参数
调用例子1:parameters的数量为0
var data = EntitySQLHelper.Context.Query<CustomerExtend>(sql);
传入一个逗号分隔的参数列表,其中指定的类型参数是在参数声明中指定的类型
调用例子3:parameters的数量为n个,此处3
var data = EntitySQLHelper.Context.Query<CustomerExtend>(sql,new SqlParameter("@oo","pp"), new SqlParameter("@ii", "ll"),new SqlParameter("@ii", "ll"));
传入指定类型的参数数组
调用例子2:parameters的数量为n个,此处2
var paramList = new List<SqlParameter>(); paramList.Add(new SqlParameter("@CompanyID", companyid)); paramList.Add(new SqlParameter("@ConversationID", conversationID)); var data = EntitySQLHelper.Context.Query<ComUserItem>(sql, paramList.ToArray());
综合使用,不推荐
调用例子4:
var data = EntitySQLHelper.Context.Query<ComUserItem>(sql, paramList.ToArray(), new SqlParameter("@oo", "pp"), new SqlParameter("@ii", "ll"))