2009-03-16 3 views
0

Linq2Nibernate를 사용하는 목적은 IQueryable을 반환하고 표현식 트리를 작성하는 것이라고 생각했습니다. 이것이 올바른지 확실하지 않습니다.Linq to Nibernate design

IQueryable을 반환하지 않으면 누구가 Linq2Nibernate를 사용합니까?

그 밖의 용도는 무엇입니까?

나는이 주제에

Linq For Nhibernate

답변

3

NHibernate를 사용할 계획입니다. Linq가 LINQ 표현식으로 HQL 및 criteria API 쿼리를 대체합니다. 즉, 코드에서 LINQ 표현식으로 쿼리를 생성 한 다음 NHibernate.Linq 및 NHib에 전달하여 데이터베이스 쿼리로 변환합니다.

참고로 alpha version available이 있습니다.

0

Linq2NHibernate 무엇에 좀 더 입력을 사랑 ? nhibernate에 대한 linq 공급자를 구현하려고 시도했지만 완료되기 전에 모두 중단 된 여러 프로젝트가 있기 때문에.

모든 linq 공급자는 IQueryable 또는 더 나은 linnq 작동 방식 인 IEnumerable을 반환해야합니다. 기존의 코드를 재사용하여 이미 생성 된 쿼리에 추가 연산자를 추가 할 수 있으므로 IQueryable을 반환하는 것이 편리합니다. (이미 IQueryable을 반환 할 수있는 ctx.Employee가 이미 쿼리 임)

1

IQueryable 개체를 반환하는 저장소 패턴과 함께 Linq2Nhibernate를 사용하고 있습니다. 아시다시피 IQueryable은 쿼리 정의 일 뿐이며 데이터베이스에는 아직 접속하지 않습니다.

그런 다음 로컬 요구 사항이 쿼리에 추가되고 마지막으로 개체 또는 목록이 구체화됩니다.

뛰어난 성능을 발휘하고 더 높은 추상 레이어의 부분 데이터에 대한 불필요한 DB 쿼리를 방지합니다.