虽然使用LightSpeed提供的Query就可以解决绝大部分问题,但如果业务逻辑过于复杂,有时候还是需要执行SQL语句或者存储过程
用SQL的方式就是使用FindBySql。
FindBySql的参数只有一个 Command。
而创建Command的方式则不是那么简单
var cmd = unitOfWork.Context.DataProviderObjectFactory.CreateCommand();
Command需要赋予Text,也许还会有参数
cmd.CommandText = "exec dbo.my_stored_proc"; //或
cmd.CommandText = "SELECT * FROM Table";
var metadata = new[] { new SqlMetaData("value", SqlDbType.NVarChar, 10) }; // the members of your SQL Server table typevar data1 = new SqlDataRecord(metadata); // In reality you'd create a helper method for thisdata1.SetValues("1");var data2 = new SqlDataRecord(metadata);data2.SetValues("2");var data = new [] { data1, data2 };cmd.Parameters.Add(new SqlParameter("@stringArrayInput", data) { SqlDbType = SqlDbType.Structured });