2012-08-26 3 views
0

Android 용 MonoTouch + Mono를 사용하여 클라이언트 - 서버 솔루션을 구현하려고합니다.Android 용 MonoTouch 및 Mono에서 ADO.NET 프로젝트를 참조하십시오.

서버 쪽에서는 ADO.NET 엔터티 모델을 사용하고 있습니다. AFAIK, 위의 프레임 워크의 일부가 아니지만 내 질문은 다음과 같습니다.

엔터티를 부분적으로 재사용하기 위해서만 클라이언트에서 (공통) ADO.NET/EF4- 기반 데이터 계층 프로젝트를 참조 할 수 있습니까? 클라이언트쪽에? 아니면,이 건축 문제에 대한 다른 해결책이 있습니까?

EDIT : 클라이언트 쪽에서는 POCO 템플릿에서 자동으로 생성 된 POCO 엔티티에 대해 생각하고 있습니다.

+0

엔티티를 참조하려면 데이터 영역 프로젝트에서 엔티티를 제거하고 별도의 클래스 라이브러리 (데이터 계층 기술이없는 클래스 - 클래스)에 넣으십시오. 그렇게하면 어셈블리를 공유 할 수 있습니다. –

+2

[여기] [1] 해결책을 찾았다면 다른 사람들에게도 도움이되기를 바랍니다. [1] : http://stackoverflow.com/questions/2464909/generate-poco-classes-in-different-project-to-the-project-with-entity-framework – ury

답변

1

이런 일을하는 좋은 방법은 ADO.NET 엔터티 프레임 워크에서 코드 우선 접근 방식을 사용하는 것입니다. 서버에서 엔티티를 만들고 DataContext 구현을 작성한 후 다음 단계에 따라 Android 용 Mono 프로젝트에 엔티티를 추가하십시오 (Visual Studio를 사용하는 경우).

  1. 오른쪽은
  2. 다음 열기 버튼에있는 작은 화살표를 클릭하고 링크를 선택 추가 할 파일을 선택 기존 항목
  3. 추가 안드로이드 프로젝트에 대한 모노를 클릭하여 선택합니다.

이제 서버 프로젝트 또는 클라이언트에서 파일을 편집하면 파일이 동기화 상태로 유지됩니다. 엔티티에서 사용할 수있는 속성 및 API 세트는 제한되어 있습니다. 일을 제대로하려면 약간의 경매가 필요할 수 있습니다.

팁 : 환경 별 동작 및 데이터를 추가하는 데 부분 클래스를 사용하십시오. 각 엔터티 클래스에 대해 두 번째 .cs 파일을 추가하고 클라이언트에서 원하지 않는 멤버를 해당 파일에 추가합니다. 응용 프로그램에서만 원하는 클라이언트 기능은 작동하지만 서버에서는 작동하지 않습니다.

위의 모든 내용은 Mac에서 MonoDevelop로 작업 할 때도 작동합니다. 또한이 응용 프로그램은 .csproj 파일 위치와 다른 위치에있는 항목을 연결하는 것을 지원합니다.

관련 문제