연습: 비즈니스 데이터를 사용하여 SharePoint에 외부 목록 만들기
BDC(비즈니스 데이터 연결) 서비스는 SharePoint에서 백 엔드 서버 응용 프로그램, 웹 서비스 및 데이터베이스의 비즈니스 데이터를 표시할 수 있게 해 줍니다.
이 연습에서는 샘플 데이터베이스의 연락처 정보를 반환하는 BDC 서비스 모델을 만드는 방법을 보여 줍니다.그 다음에는 이 모델을 사용하여 SharePoint에 외부 목록을 만듭니다.
이 연습에서는 다음 작업을 수행합니다.
프로젝트 만들기
모델에 엔터티 추가
Finder 메서드 추가
SpecificFinder 메서드 추가
프로젝트 테스트
사전 요구 사항
이 연습을 완료하려면 다음 구성 요소가 필요합니다.
지원되는 Windows 및 SharePoint 버전.자세한 내용은 SharePoint 솔루션 개발 요구 사항을 참조하십시오.
Visual Studio Professional, Visual Studio Ultimate 또는 Visual Studio Premium.
AdventureWorks 샘플 데이터베이스에 액세스할 수 있는 권한.AdventureWorks 데이터베이스를 설치하는 방법에 대한 자세한 내용은 SQL Server Database Product Samples를 참조하십시오.
BDC 모델이 포함 된 프로젝트 만들기
BDC 모델을 포함 하는 프로젝트를 만들려면
Visual Studio 메뉴 모음에서 선택 파일, New, 프로젝트.
새 프로젝트 대화 상자가 열립니다.
하나 C# 또는 Visual Basic, 확장은 SharePoint 노드를 다음 선택은 2010 항목.
에 템플릿 창에서 선택 SharePoint 2010 프로젝트, AdventureWorksTest, 프로젝트 이름을 지정 하 고 선택의 확인 단추.
SharePoint 사용자 지정 마법사가 나타납니다.이 마법사에서는 프로젝트를 디버깅 하 고 솔루션의 신뢰 수준을 설정할 수를 사용 하 게 될 사이트를 지정할 수 있습니다.
선택은 팜 솔루션으로 배포 의 신뢰 수준을 설정 하는 옵션 단추입니다.
선택은 마침 단추 기본 로컬 SharePoint 사이트에 적용 합니다.
솔루션 탐색기에서 SharePoint 프로젝트 노드를 선택 합니다.
메뉴 모음에서 선택 프로젝트, 새 항목 추가.
새 항목 추가 대화 상자가 열립니다.
에 템플릿 창에서 선택 비즈니스 데이터 연결 모델 (팜 솔루션만), AdventureWorksContacts, 프로젝트 이름을 지정 하 고 다음을 선택의 추가 단추.
프로젝트에 데이터 액세스 클래스 추가
프로젝트에 데이터 액세스 클래스를 추가하려면
메뉴 모음에서 선택 도구, 데이터베이스에 연결.
연결 추가 대화 상자가 열립니다.
SQL Server AdventureWorks 샘플 데이터베이스에 대한 연결을 추가합니다.
자세한 내용은 연결 추가/수정(Microsoft SQL Server)을 참조하십시오.
솔루션 탐색기, 프로젝트 노드를 선택 합니다.
메뉴 모음에서 선택 프로젝트, 새 항목 추가.
에 설치 된 템플릿 창에서 선택 된 데이터 노드.
에 템플릿 창에서 선택 LINQ to SQL 클래스.
에 이름 상자에서 Adventureworks를 지정 하 고 다음 선택의 추가 단추.
.Dbml 파일이 프로젝트에 추가 되 고 개체 관계형 디자이너 (O/R 디자이너)가 열립니다.
메뉴 모음에서 선택 보기, 서버 탐색기.
서버 탐색기에서 AdventureWorks 샘플 데이터베이스를 나타내는 노드를 확장한 다음 테이블 노드를 확장합니다.
추가 (사람) 연락처 O/R 디자이너로 테이블.
엔터티 클래스가 만들어져 디자인 화면에 표시됩니다.이 엔터티 클래스에는 Contact (Person) 테이블의 열에 매핑되는 속성이 있습니다.
BDC 모델에서 기본 엔터티 제거
비즈니스 데이터 연결 모델 프로젝트는 모델에 Entity1이라는 기본 엔터티를 추가합니다.이 엔터티를 제거합니다.나중에 새 엔터티를 추가합니다.비어 있는 모델로 시작하면 연습을 완료하는 데 필요한 단계가 줄어듭니다.
모델에서 기본 엔터티를 제거하려면
솔루션 탐색기, 확장 된 BdcModel1 노드 및 다음 BdcModel1.bdcm 파일을 열기 합니다.
비즈니스 데이터 연결 모델 파일이 BDC 디자이너에서 열립니다.
디자이너에서 바로 가기 메뉴를 열고 Entity1, 다음을 선택 하 고 삭제.
솔루션 탐색기(에서 C#), Entity1.cs 또는 Entity1.vb (Visual Basic)에 대 한 바로 가기 메뉴를 열고, 다음 선택 삭제.
(에서 C#), Entity1Service.cs 또는 Entity1Service.vb (Visual Basic)에 대 한 바로 가기 메뉴를 열고 선택 삭제.
모델에 엔터티 추가
모델에 엔터티를 추가합니다.Visual Studio 엔터티를 추가할 수 있습니다 도구 BDC 디자이너에 끌어 놓으십시오.
모델에 엔터티를 추가하려면
메뉴 모음에서 선택 보기, 도구.
에 BusinessDataConnectivity 탭의 도구 상자, 추가 엔터티 BDC 디자이너에 끌어 놓으십시오.
디자이너에 새 엔터티가 표시됩니다.Visual Studio (Visual Basic)에서 명명 된 EntityService.vb 또는 EntityService.cs (에서 C#) 프로젝트에 파일을 추가 합니다.
메뉴 모음에서 선택 보기, 속성, 창.
에 속성 창 설정의 이름 연락처 속성 값입니다.
엔터티에 대 한 바로 가기 메뉴에서 디자이너를 열고 추가, 다음을 선택 하 고 식별자.
새 식별자가 엔터티에 나타납니다.
속성 창에서 식별자 이름을 ContactID로 변경합니다.
에 형식 이름 목록에서 선택 System.Int32.
SpecificFinder 메서드 추가
BDC 서비스에서 특정 연락처를 표시할 수 있도록 하려면 SpecificFinder 메서드를 추가해야 합니다.사용자가 목록에서 항목을 선택 하 고 다음을 선택 하면 BDC 서비스 특정 Finder 메서드를 호출 하는 항목 보기 리본 메뉴의 단추입니다.
BDC 메서드 세부 정보 창을 사용하여 Contact 엔터티에 SpecificFinder 메서드를 추가합니다.특정 엔터티를 반환하려면 메서드에 코드를 추가합니다.
SpecificFinder 메서드를 추가하려면
BDC 디자이너에서 선택 된 연락처 엔터티.
메뉴 모음에서 선택 보기, 기타 Windows, BDC 메서드 세부 정보.
BDC 메서드 세부 정보 창이 열립니다.
에 메서드 추가 목록에서 선택 특정 Finder 메서드 만들기.
모델에 다음 요소가 추가됩니다.이러한 요소는 BDC 메서드 세부 정보 창에 표시됩니다.
ReadItem 메서드
메서드의 입력 매개 변수
메서드의 반환 매개 변수
각 매개 변수에 대한 형식 설명자
메서드의 메서드 인스턴스
에 BDC 메서드 세부 정보 창에 표시 되는 목록 열은 연락처 설명자를 입력 한 다음 선택 편집.
BDC 탐색기 를 열고 모델의 계층적 뷰를 제공 합니다.
에 속성 창에서 옆에 나열의 TypeName 속성을 선택의 현재 프로젝트 탭을 클릭 한 다음 선택의 연락처 속성.
에 BDC 탐색기, 바로 가기 메뉴를 엽니다의 연락처, 다음 선택 형식 설명자 추가.
새 형식 설명자 인 TypeDescriptor1 표시는 BDC 탐색기.
에 속성 창 설정에서 이름 속성 값을 연락처 Id.
옆에 나열 된 TypeName 속성을 다음 선택 i n t 32.
옆에 나열 된 식별자 속성을 다음 선택 연락처 Id.
6단계를 반복하여 다음 각 필드에 대한 형식 설명자를 만듭니다.
이름
형식 이름
FirstName
System.String
LastName
System.String
Phone
System.String
EmailAddress
System.String
EmailPromotion
System.Int32
NameStyle
System.Boolean
PasswordHash
System.String
PasswordSalt
System.String
BDC 디자이너에서에 있는 연락처 엔터티를 열기는 ReadItem 메서드.
코드 편집기에서 Contact 서비스 코드 파일이 열립니다.
ContactService 클래스에서 ReadItem 메서드를 다음 코드로 바꿉니다.이 코드는 다음 작업을 수행합니다.
AdventureWorks 데이터베이스의 Contact 테이블에서 데이터를 검색합니다.
BDC 서비스에 Contact 엔터티를 반환합니다.
[!참고]
ServerName 필드의 값을 서버 이름으로 바꿉니다.
Public Shared Function ReadItem(ByVal contactID As Integer) As Contact Const ServerName As String = "MySQLServerName" Dim dataContext As AdventureWorksDataContext = _ New AdventureWorksDataContext("Data Source=" & ServerName & _ ";Initial Catalog=AdventureWorks;Integrated Security=True") Dim Contact As Contact = _ (From TempContacts In dataContext.Contacts.AsEnumerable().Take(20) _ Where TempContacts.ContactID = contactID _ Select TempContacts).[Single]() Return Contact End Function
public static Contact ReadItem(int contactID) { const string ServerName = "MySQLServerName"; AdventureWorksDataContext dataContext = new AdventureWorksDataContext ("Data Source=" + ServerName + ";" + "Initial Catalog=AdventureWorks;Integrated Security=True"); Contact Contact = (from contacts in dataContext.Contacts.AsEnumerable().Take(20) where contacts.ContactID == contactID select contacts).Single(); return Contact; }
Finder 메서드 추가
BDC 서비스에서 목록에 연락처를 표시할 수 있도록 하려면 Finder 메서드를 추가해야 합니다.BDC 메서드 세부 정보 창에서 Contact 엔터티에 Finder 메서드를 추가합니다.BDC 서비스에 엔터티 컬렉션을 반환하려면 메서드에 코드를 추가합니다.
Finder 메서드를 추가하려면
BDC 디자이너에서 선택 된 연락처 엔터티.
에 BDC 메서드 세부 정보 창에서 축소 된 ReadItem 노드.
에 메서드 추가 아래 나열 된 ReadList 메서드를 선택 Finder 메서드 만들기.
메서드, 반환 매개 변수 및 형식 설명자가 추가됩니다.
BDC 디자이너에서에 있는 연락처 엔터티를 열기는 ReadList 메서드.
연락처 서비스 코드 파일이 코드 편집기에서 열립니다.
ContactService 클래스에서 ReadList 메서드를 다음 코드로 바꿉니다.이 코드는 다음 작업을 수행합니다.
AdventureWorks 데이터베이스의 Contacts 테이블에서 데이터를 검색합니다.
Contact 엔터티 목록을 BDC 서비스에 반환합니다.
[!참고]
ServerName 필드의 값을 서버 이름으로 바꿉니다.
Public Shared Function ReadList() As IEnumerable(Of Contact) Const ServerName As String = "MySQLServerName" Dim dataContext As AdventureWorksDataContext = _ New AdventureWorksDataContext("Data Source=" & ServerName & _ ";Initial Catalog=AdventureWorks;Integrated Security=True") Dim Contacts As IEnumerable(Of Contact) = _ From TempContacts In dataContext.Contacts.Take(20) _ Select TempContacts Return Contacts End Function
public static IEnumerable<Contact> ReadList() { const string ServerName = "MySQLServerName"; AdventureWorksDataContext dataContext = new AdventureWorksDataContext ("Data Source=" + ServerName + ";" + "Initial Catalog=AdventureWorks;Integrated Security=True"); IEnumerable<Contact> Contacts = from contacts in dataContext.Contacts.Take(20) select contacts; return Contacts; }
프로젝트 테스트
프로젝트를 실행하면 SharePoint 사이트가 열리고 비즈니스 데이터 연결 서비스에 모델이 추가됩니다.SharePoint에 Contact 엔터티를 참조하는 외부 목록을 만듭니다.AdventureWorks 데이터베이스의 연락처 데이터가 목록에 표시됩니다.
[!참고]
솔루션을 디버깅하려면 먼저 SharePoint에서 보안 설정을 수정해야 할 수도 있습니다.자세한 내용은 비즈니스 데이터 연결 모델 디자인을 참조하십시오.
프로젝트를 테스트하려면
선택 된 F5 키.
SharePoint 사이트가 열립니다.
에 사이트 작업 메뉴에서 선택 된 기타 옵션 명령.
에 만들기 페이지에서 선택의 외부 목록 서식 파일을 다음 선택은 만들기 단추.
사용자 지정 목록의 이름으로 Contacts를 지정합니다.
옆에 있는 찾아보기 단추를 선택 된 외부 콘텐츠 형식 필드입니다.
에 외부 콘텐츠 형식 선택 대화 상자에서 선택의 AdventureWorksContacts.BdcModel1.Contact 항목 및 다음 선택은 만들기 단추.
Sharepoint에서 AdventureWorks 샘플 데이터베이스의 연락처를 포함 하는 외부 목록을 만듭니다.
특정 Finder 메서드를 테스트 하려면 연락처 목록에서 선택 합니다.
리본 메뉴에서 선택의 항목 탭을 클릭 한 다음 선택은 항목 보기 명령.
선택한 연락처의 세부 정보 양식에 표시 됩니다.
다음 단계
다음 항목에서는 SharePoint에서 BDC 서비스 모델을 디자인하는 방법에 대해 더 자세히 설명합니다.