LINQ to SQL
Данный раздел относится к версии Windows Workflow Foundation 4.
В этом образце показано создание действий, использующих запросы к сущностям LINQ to SQL из таблиц в базах данных SQL Server.
Примечание |
---|
Образцы WCF уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\Samples\WCFWFCardspace
Если этот каталог не существует, щелкните ссылку Загрузить образец в верхней части страницы. Обратите внимание, что по этой ссылке происходит загрузка и установка всех WF, WCF, и CardSpace образцов. Этот образец расположен в следующем каталоге.
<диск_установки>:\Samples\WCFWFCardSpace\WF\Scenario\ActivityLibrary\Linq\LinqToSql
|
Сведения о действии FindInSqlTable
Это действие позволяет пользователям создавать запросы к сущностям из таблиц в базе данных, используя LINQ to SQL. Пользователи действия могут также указать предикат LINQ в форме лямбда-выражения для фильтрации результатов. Если не указан предикат, вся таблица возвращается. В следующих сведениях о таблице подробно описаны свойства и возвращаемые значения для действия.
Свойство или возвращаемое значение | Описание |
---|---|
|
Обязательное свойство, в котором указывается исходная коллекция. |
|
Обязательное свойство, в котором указывается фильтр для коллекции в виде лямбда-выражения. |
Возвращаемое значение |
Фильтруемая коллекция. |
Образец кода, использующий настраиваемое действие
В следующем примере кода пользовательское действие FindInSqlTable
применяется для нахождения всех строк в таблице SQL Server, имеющей название Employee
, где значение столбца Role
равно SDE
.
new FindInSqlTable<Employee>
{
ConnectionString = @"Data Source=.\SQLExpress;Initial Catalog=LinqToSqlSample;Integrated Security=True",
Predicate = new LambdaValue<Func<Employee, bool>>(c => new Func<Employee, bool>(emp => emp.Role.Equals("SDE"))),
Result = new OutArgument<IList<Employee>>(employees)
},
Использование этого образца
Откройте окно командной строки.
Перейдите в папку, содержащую этот образец.
Запустите командный файл Setup.cmd.
Примечание Скрипт Setup.cmd пытается установить образец базы данных в SQL Server Express на локальном компьютере. Для установки данного образца на другом экземпляре SQL Server отредактируйте Setup.cmd. Скрипт Setup.cmd выполняет следующие действия:
Создает базу данных c именем LinqToSqlSample.
Создает таблицу Roles.
Создает таблицу Employees.
Вставляет 3 записи в таблицу Roles.
Вставляет 12 записей в таблицу Employees.
Используя Visual Studio 2010, откройте файл решения LinqToSQL.sln.
Чтобы построить решение, нажмите клавишу F6.
Чтобы запустить решение, нажмите клавишу F5.
Удаление образца базы данных LinqToSql
Откройте окно командной строки.
Перейдите в папку, содержащую этот образец.
Запустите командный файл Cleanup.cmd.
Примечание |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\WF_WCF_Samples
Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.
<диск_установки>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Liiinq\LinqToSql
|