이 항목은 Windows Workflow Foundation 4에 적용됩니다.
이 샘플에서는 SQL Server 데이터베이스의 테이블에 있는 LINQ to SQL 쿼리 엔터티를 사용하는 활동을 만드는 방법을 보여 줍니다.
참고: |
|---|
컴퓨터에 WCF 샘플이 이미 설치되어 있을 수도 있습니다. 계속하기 전에 다음(기본) 디렉터리를 확인하십시오.
<InstallDrive>:\Samples\WCFWFCardspace
이 디렉터리가 없으면 이 페이지의 맨 위에 있는 다운로드 샘플 링크를 클릭하십시오. 그러면 모든 WF, WCF 및 CardSpace 샘플이 다운로드되고 설치됩니다. 이 샘플은 다음 디렉터리에 있습니다.
<InstallDrive>:\Samples\WCFWFCardSpace\WF\Scenario\ActivityLibrary\Linq\LinqToSql
|
FindInSqlTable의 활동 세부 정보
이 활동을 사용하면 사용자가 LINQ to SQL을 사용하여 데이터베이스에 있는 테이블의 엔터티를 쿼리할 수 있습니다. 활동 사용자가 람다 식 형식의 LINQ 조건자를 제공하여 결과를 필터링할 수도 있습니다. 조건자를 제공하지 않으면 전체 테이블이 반환됩니다. 다음 표에서는 활동의 속성 및 반환 값에 대해 자세히 설명합니다.
| 속성 또는 반환 값 | 설명 |
|---|---|
|
소스 컬렉션을 지정하는 필수 속성입니다. |
|
람다 식 형식으로 컬렉션의 필터를 지정하는 필수 속성입니다. |
반환 값 |
필터링된 컬렉션입니다. |
사용자 지정 활동을 사용하는 코드 샘플
다음 코드 예제에서는 FindInSqlTable 사용자 지정 활동을 사용하여 Employee라는 SQL Server 테이블에서 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 스크립트가 다음 동작을 수행합니다.
LinqToSqlSample이라는 데이터베이스를 만듭니다.
Roles 테이블을 만듭니다.
Employees 테이블을 만듭니다.
Roles 테이블에 세 개의 레코드를 삽입합니다.
Employees 테이블에 12개의 레코드를 삽입합니다.
Visual Studio 2010을 사용하여 LinqToSQL.sln 솔루션 파일을 엽니다.
F6 키를 눌러 솔루션을 빌드합니다.
F5 키를 눌러 솔루션을 실행합니다.
LinqToSql 샘플 데이터베이스를 제거하려면
명령 프롬프트를 엽니다.
이 샘플이 들어 있는 폴더로 이동합니다.
Cleanup.cmd 명령 파일을 실행합니다.
참고: |
|---|
컴퓨터에 이 샘플이 이미 설치되어 있을 수도 있습니다. 계속하기 전에 다음(기본) 디렉터리를 확인하십시오.
<InstallDrive>:\WF_WCF_Samples
이 디렉터리가 없으면 Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4로 이동하여 WCF(Windows Communication Foundation) 및 WF 샘플을 모두 다운로드하십시오. 이 샘플은 다음 디렉터리에 있습니다.
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Liiinq\LinqToSql
|
참고: