4

이 내 설정이다 : MVC 응용 프로그램 나는 실버 라이트 응용 프로그램의 상호 작용을 만들기 위해 RIA 서비스를 사용하고 있습니다 (MVC의 앱에 표시) Enitity 프레임 워크 코드 첫 번째 실버 라이트 응용 프로그램Entity Framework 4.3에서 RIA 서비스를 사용할 수 있습니까?

를 사용하여 데이터 액세스 레이어와 도메인 모델 DB와.

Ria 서비스는 현재 엔터티 프레임 워크 4.1 만 지원합니다. 현재 릴리스는 4.3입니다. Silverlight 앱을위한 Ria 서비스로 인해 EF의 새로운 기능을 얻지 못해서 낭비가 될 것 같습니다 (예 : 마이그레이션과 희망적인 열거 형 지원).

내 질문은 그러므로 :

  1. 이 합리적 (즉 그들은 항상 너무 많은으로 뒤쳐 것이다 첫번째 EF 코드를 사용하는 경우 리아 서비스에 의존하는이 도로 아래로 문제가 될 수 있나요 ?)
  2. Silverlight 앱이 내가 사용하는 ORM의 버전에 크게 의존하지 않는 대체 솔루션이 있습니까?
+0

어떤 단지 WCF 추상화 레이어를 사용하는 방법에 대해? 리아 (ria) 서비스를 선택하면 손을 들어보십시오. –

+0

그건 내가 두려워하는거야. 신속하고 간단한 해결책 인 것처럼 보이는 것은 나중에 큰 고통을 초래할 수 있습니다. 저는 SL을 사용하여 보고서를 만들고 사용합니다. Telerik RAD 컨트롤을 구현해야하지만 다른 사용자가 액세스 할 필요가없는 기능을 위해 Telerik RAD 컨트롤을 사용합니다. admins => 가능한 한 적은 시간을 보내지 만 여전히 효율적입니다. . RIA를 사용하면 메서드를 거의 스캐 폴딩하고 SL 뷰의 컨트롤에 바인딩 할 수 있습니다.WCF에서도 동일한 작업을 수행 할 수 있습니까? IIS에 WCF를 게시 하시겠습니까? – cfs

+1

내가 보는 방식대로, RIA는 실버 응용 프로그램을 만드는 데 편리한/더러운 작은 응용 프로그램입니다. 디자이너가 데이터 세트를 끌어다 놓는 것을 생각 나게합니다. WCF 데이터 서비스 또는 http://stackoverflow.com/questions/2523629/ria-services-versus-wcf-services-what-is-a-difference –

답변

4

RIA 서비스는 NHibernate 또는 다른 ORM 또는 객체/도메인 모델과 함께 사용할 수 있습니다. VS 마법사의 일부만이 EF와 RIA 서비스 간의 결합을 암시하지만 이러한 마법사를 사용할 필요가 없으며 EF와 RIA 서비스간에 커플 링이 존재합니다.

"Entity Framework 4.3에서 RIA 서비스를 사용할 수 있습니까?"라는 질문에 대한 대답은 다음과 같습니다. 절대적으로 그렇습니다.

OData는 RIA Services 대신 사용할 수있는 몇 가지 제한 사항이 있으며 직접적인 경쟁자는 아닙니다. WCF도 대안입니다.

+1

안녕하세요, 응답 해 주셔서 감사합니다. 나는 틀린 무엇인가 얻었 음에 틀림 없다. 그러나 이것은 좋은 소식처럼 들린다. VS2010에서 NuGet 패키지 설치 프로그램을 사용하면 EF 버전 <4.2라는 이유로 RiaServices.Entityframework를 설치할 수 없습니다. 어쨌든 그 주위에 있니? Ria Services를 구현하는 방법을 보여주는 리소스를 알고 계십니까? 내가 EF Code First를 사용한다는 것을 명심하라. 필자가 보았 듯이 데이터베이스를 매핑하고 DB에서 새로운 컨텍스트 모델을 생성 할 때만 wisard를 얻는다. 그러나 그 솔루션은별로 좋지 않다. . – cfs

+4

각 제한 사항 중 하나를 확인했습니다. 첫째, '새로 만들기 -> DomainService'마법사가 EF4.3에서 올바르게 작동하지 않습니다. 두 번째로, RIA.EF 용 NuGet 패키지는 버전 4.1을 강력하게 잠급니다. 현재 RIA Toolkit 설치 관리자 (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26939)를 사용하여 NuGet 잠금 장치를 사용할 수 있습니다. 이 시점에서 EF4.3으로 업그레이드 할 수 있어야합니다. 또한 가까운 미래에 NuGet 제약 조건이 해결 될 것으로 기대됩니다. –

+0

감사합니다! 좋아, 팁을 따랐고 스위치가 예상보다 쉬웠다. 링크 된 RIA Toolkit 설치 프로그램을 다운로드했습니다. 오래된 서비스를 삭제했습니다. EF 4.3으로 업그레이드하기 전에 새 DomainService를 만들었으므로 CRUD 스캐 폴딩이있어서 시간을 절약 할 수있었습니다. EF 4.3으로 업그레이드되었는데 이제는 모든 것이 잘 작동하는 것 같습니다. 다시 한번 감사드립니다. – cfs

0

RIA 서비스가 EF4.3을 제대로 지원하기 전에 마이그레이션을 수행하는 방법은 Visual Studio Ultimate의 데이터베이스 프로젝트와 비슷한 개념으로 마이그레이션 전용 프로젝트를 만드는 것일 수도 있습니다.

"add as link"를 통해 모델을 포함시켜야하고 두 프로젝트에서 모두 컴파일 할 수 있어야합니다. 예를 들어, RIA-Services에 정의 된 더미 속성을 정의해야 할 수도 있습니다 ("포함"은 하나임).

이상적이지는 않지만 경우에 따라 가장 좋은 옵션 일 수 있습니다.

0

RiaServices.EntityFramework NuGet 패키지의 버전 < 4.2 잠금에 대한 임시 해결책을 얻으려면 패키지의 메타 데이터를 변경하고 제약 조건을 제거하기 위해 NuGet Package Explorer을 사용했습니다.

당신은 local cache as NuGet source을 추가해야합니다.

도구 -> 옵션 -> 패키지 관리자 -> 패키지 소스 -> 추가 (C :/사용자/% 사용자 이름 %/APPDATA/지역/Nuget/캐시)