Я использую ADO.Net DataServices для предоставления модели данных сущностей Silverlight. Модель имеет хранимую процедуру, которая возвращает void. Я хочу вызвать эту процедуру из клиента Silverlight.
Насколько я понимаю, я должен добавить метод [WebInvoke] в класс DataService и использовать DbCommand для вызова хранимой процедуры.
Вот мой код:
using System.Data.Common;
using System.Data.Services;
using System.ServiceModel.Web;
namespace Foo.Web
{
public class PayrollDataService : DataService<Foo.Web.PayrollEntities>
{
public static void InitializeService(IDataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
config.UseVerboseErrors = true;
}
[WebInvoke]
public void RunMyProcedure()
{
DbConnection conn = this.CurrentDataSource.Connection;
DbCommand cmd = conn.CreateCommand();
// TODO: Call the stored procedure in the EF Data Model.
}
}
}
Может ли кто-нибудь подтвердить, что это правильный подход, и показать пример использования DbCommand в этой ситуации?