有时候,在 Dynamics CRM Plugin 中通过 linq 查询数据会比较慢,可以通过采用在 C# plugin 中直接调用数据库存储过程的方式来提高效率,具体过程如下:
1.新建一个存储过程:
ALTER PROCEDURE [dbo].[p_Sample] AS BEGIN SELECT COUNT(dbo.Table.Id) FROM dbo.Table WHERE dbo.Table.Name LIKE ‘张%‘ END
2.在 Plugin 中调用存储过程:
string sProc = "p_Sample"; string sqlConnection = "Data Source=.;Initial Catalog=DataBaseSample;User ID=sa;PassWord=123456"; using (SqlConnection conn = new SqlConnection(sqlConnection)) { SqlCommand cmd = new SqlCommand(sProc, conn); cmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet dt = new DataSet(); adapter.Fill(dt); if(dt.Tables[0].Rows[0][0] != null) { return (int)dt.Tables[0].Rows[0][0]; } else { return 0; } }
原文地址:https://www.cnblogs.com/Sunny20181123/p/10663226.html
时间: 2024-11-09 03:20:34