2009년 3월 21일 토요일

NHibernate.Linq + ADO.NET DataService

현재 ADO.NET DataServices 가 계속 개발중이라 아직 어떻지는 모르겠지만...

Silverlight를 사용하려면 ADO.NET DataService 를 이용하는 것이 가장 효율적인 방법인 거 같습니다.

알다시피 ADO.NET DataService는 LINQ to SQL, Entity Framework을 한계층 싸서 WCF로 expose해 주는 기능을 합니다.

위의 얘기는 Association이 있는 Persistence graph를 알아서 expose 해준다는 얘기지요...


등을 보면 잘 나와 있습니다.

다만 현재 NHibernate 2.0.1 GA 까지는 NHibernate.Linq 를 공식적으로 지원하지 않기 때문에
그림에 떡입니다.
현재 NHibernate.Linq가 NHibernate Contrib 프로젝트에서 개발 중이기는 합니다만... NHibernate 2.1.0 에 맞춰서 제공될 예정이라고는 하지만... MS가 또 어떤 장난을 칠지...


위 예제는 NHiberate, NHibernate.Linq, ADO.DataService, Silverlihgt를 이용한 예제입니다만
아쉽게도 NH 2.1.0 Alpha 버전에서는 작동하지 않습니다.

ADO.NET DataServices의 핵심 클래스인 DataService 가 바뀌어서 T 가 Object 가 System.Data.Linq.DataContext 이거나 System.Data.Objects.ObjectContext 이어야 하네요...

NHibernate.Linq도 많이 바뀌어야 가능할 듯 싶습니다.

댓글 없음: