LightSpeed 之Sql和存储过程的使用

虽然使用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 type

var data1 = new SqlDataRecord(metadata);  // In reality you'd create a helper method for this
data1.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 });

 

posted @ 2015-07-31 12:00  TiestoRay  阅读(220)  评论(0编辑  收藏  举报