2011-02-25 6 views
0

나는 특정 날짜 이후에 생성 된 모든 회사를 얻을 수있는 fallowing 쿼리를 사용하려고 :Where-Clause에서 NHibernate Linq DateTime이 지원되지 않습니까?

return session.Query<Company>().Where(x => x.Created > value) 

내가 이것을 실행할 때, 나는 항상 System.NotSupportedException를 얻을. Where()를 제거하면 작동합니다. NHibernate 3.0을 사용합니다. NH3.0의 Linq는 그러한 Where 절을 지원하지 않습니까? 대신 어떻게해야합니까?

나는 또한 건너 뛰기를()와 사용되는 테이크() :

+0

'x.Created'와'value'의 타입은 무엇이고 각각에 대한'Kind'의 값은 무엇입니까? 다른 필드의 Where 절은 작동합니까? –

+0

DateTime입니까? Nullable 의 다양한? – t3rse

+0

x.Created는 DateTime 유형이며 값은 DateTime 유형입니다. 다른 필드도 작동하지 않습니다. 회사가 다른 회사 (상주)로부터 상속하는 클래스이기 때문에 가능합니까? – BennoDual

답변

1

나는 문제를 발견했다. 이 두 가지는 Where() 뒤에 있어야합니다.

+0

이것이 어떻게 도움이 되는가 .. 그는 심지어 무엇이든 언급 했으므로 abt를 건너 뜁니다. – Baz1nga

+0

오, 그 질문을 한 사람을 깨닫습니다. 나는 hv가 왜 하나의 대답을 추가했는지 전혀 모른다. – Baz1nga

+0

이것은 해결책이었다. (Where() 뒤에 Skip()과 Take()를 넣는다. 나는 내 문제를 대신 주석으로 해결하기 때문에 대답으로 써야한다고 생각했습니다. 잘못인가? – BennoDual

0

문제는 NH3에서 NH3에서 Query가 아닌 Query를 사용해야하는 곳을 지원하지 않습니다. 그래서해야

return session.QueryOver<Company>().Where(right condn); 

무슨 유형 쿼리에서 생성 내가

당신은 스킵이 그 완전히 괜찮 너무 걸릴 수 있습니다 도움을 줄 수 있습니다.

관련 문제