Я использую Lightswitch 2013 (С#) над SQL Server, чтобы каждый месяц вводить базовые данные. После того, как пользователь вводит данные на ряд экранов, я хочу, чтобы они могли выполнять хранимую процедуру в базе данных, которая начнет серию задач по созданию куба SSAS. например. usp_DoTasks
Таким образом, кнопка называется "Данные процесса" и находится на экране EBIT.
Я не могу найти ничего, что можно было бы назвать простым хранимым процессом, который не связан с табличной вставкой и т.д. Я новичок в lightwitch, это первое приложение, которое я создал до сих пор.
using System;
using System.Linq;
using System.IO;
using System.IO.IsolatedStorage;
using System.Collections.Generic;
using System.Configuration;
using Microsoft.LightSwitch;
using Microsoft.LightSwitch.Framework.Client;
using Microsoft.LightSwitch.Presentation;
using Microsoft.LightSwitch.Presentation.Extensions;
namespace LightSwitchApplication
{
public partial class EditableEBiTByYearCountryGrid
{
partial void EditableEBiTByYearCountryGrid_Created()
{
//Set the defaults for the parameters
SelectedYear = this.DataWorkspace.MyData.Years_SingleOrDefault(DateTime.Today.Year);
SelectedCountry = this.DataWorkspace.MyData.SalesCountries_SingleOrDefault(3);
}
partial void ProcessData_Execute()
{
//help???
}
}
}
Благодарю!
хорошо, я думаю, что я буду тупой, чтобы кто-то вроде меня мог сделать это в будущем...
Это для простого вызова хранимой процедуры, никаких параметров и не имеет отношения к экрану, который вы редактируете.
Примечание. У меня есть таблицы под названием Год и месяц, которые являются справочными таблицами, а не поддерживаются пользователем. Нет данных, которые вставляются в таблицу Year.
Здесь, что надеть кнопку "Выполнить" в коде на вашем "экране",
partial void ProcessData_Execute()
{
// Write your code here.
DataWorkspace dataWorkspace = new DataWorkspace();
Year operation = dataWorkspace.MyData.Years.AddNew();
dataWorkspace.MyData.SaveChanges();
}
Чтобы сделать следующий бит, вам нужно добавить ссылку на System.Configuration. Он описан в приведенной выше ссылке как
Вам нужно будет добавить ссылку из проекта сервера в сборку System.Configuration, чтобы использовать класс ConfigurationManager. (В панели инструментов Solution Explorer опустите переключатель View и выберите "File View". Затем щелкните правой кнопкой мыши проект "Сервер" и скажите "Добавить ссылку". На вкладке.NET выберите "System.Configuration".)
Внутри источника данных "MyData" щелкните правой кнопкой мыши и "Просмотреть код",
partial void Years_Inserting(Year entity)
{
using (SqlConnection connection = new SqlConnection())
{
string connectionStringName = this.DataWorkspace.ProfitData.Details.Name;
connection.ConnectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;
string procedure = "usp_DoTask";
using (SqlCommand command = new SqlCommand(procedure, connection))
{
command.CommandType = CommandType.StoredProcedure;
connection.Open();
command.ExecuteNonQuery();
}
}
this.Details.DiscardChanges();
}
И эй престо, это сработало.
Вы видели этот пост в блоге? Он содержит пошаговые инструкции о том, как выполнять хранимые процедуры в LightSwitch.