Поделиться через


LINQ to SQL

Данный раздел относится к версии Windows Workflow Foundation 4.

В этом образце показано создание действий, использующих запросы к сущностям LINQ to SQL из таблиц в базах данных SQL Server.

Dd797582.Important(ru-ru,VS.100).gif Примечание
Образцы WCF уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).

<диск_установки>:\Samples\WCFWFCardspace

Если этот каталог не существует, щелкните ссылку Загрузить образец в верхней части страницы. Обратите внимание, что по этой ссылке происходит загрузка и установка всех WF, WCF, и CardSpace образцов. Этот образец расположен в следующем каталоге.

<диск_установки>:\Samples\WCFWFCardSpace\WF\Scenario\ActivityLibrary\Linq\LinqToSql

Сведения о действии FindInSqlTable

Это действие позволяет пользователям создавать запросы к сущностям из таблиц в базе данных, используя LINQ to SQL. Пользователи действия могут также указать предикат LINQ в форме лямбда-выражения для фильтрации результатов. Если не указан предикат, вся таблица возвращается. В следующих сведениях о таблице подробно описаны свойства и возвращаемые значения для действия.

Свойство или возвращаемое значение Описание

CollectionСвойство

Обязательное свойство, в котором указывается исходная коллекция.

PredicateСвойство

Обязательное свойство, в котором указывается фильтр для коллекции в виде лямбда-выражения.

Возвращаемое значение

Фильтруемая коллекция.

Образец кода, использующий настраиваемое действие

В следующем примере кода пользовательское действие 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)
},

Использование этого образца

  1. Откройте окно командной строки.

  2. Перейдите в папку, содержащую этот образец.

  3. Запустите командный файл Setup.cmd.

    Dd797582.note(ru-ru,VS.100).gifПримечание
    Скрипт Setup.cmd пытается установить образец базы данных в SQL Server Express на локальном компьютере. Для установки данного образца на другом экземпляре SQL Server отредактируйте Setup.cmd.

    Скрипт Setup.cmd выполняет следующие действия:

    • Создает базу данных c именем LinqToSqlSample.

    • Создает таблицу Roles.

    • Создает таблицу Employees.

    • Вставляет 3 записи в таблицу Roles.

    • Вставляет 12 записей в таблицу Employees.

  4. Используя Visual Studio 2010, откройте файл решения LinqToSQL.sln.

  5. Чтобы построить решение, нажмите клавишу F6.

  6. Чтобы запустить решение, нажмите клавишу F5.

Удаление образца базы данных LinqToSql

  1. Откройте окно командной строки.

  2. Перейдите в папку, содержащую этот образец.

  3. Запустите командный файл Cleanup.cmd.

Dd797582.Important(ru-ru,VS.100).gif Примечание
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).

<диск_установки>:\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

См. также

Другие ресурсы

LINQ to SQL
Приступая к работе (LINQ to SQL)