Jon, Jared 및 yshuditelu가 제공 한 응답은 주로 사용되지 않는 DB4o 쿼리 메커니즘 인 쿼리를 사용하며 이후에 비추천 될 수 있습니다.
.NET 용 DB4O를 쿼리하는 기본 방법은 기본 쿼리와 LINQ입니다. Linq에 - 투 - db4o는을 사용하여
// Query for all Pilots using DB4O native query:
var result = db.Query<Pilot>();
또는 대안 :
// Query for all Pilots using LINQ
var result = from Pilot p in db
select p;
이 두 작품의 당신은 컴파일시에 유형 (예를 들어, 파일럿)을 알고 제공. 당신이 컴파일시에 유형을 모르는 경우, 당신은 대신 db4o는 SODA 쿼리를 사용할 수 있습니다 대신 SODA의 LINQ를 사용하는 이유
var query = db.Query();
query.Constrain(someObj.GetType());
var results = query.Execute();
편집을 예제 별 조회 (QBE), 또는 기본 쿼리 (NQ)? LINQ는 쿼리 식을 처리하는 것이 매우 자연 스럽기 때문입니다.
var michaelPilots = from Pilot p in db
where p.Name == "Michael"
select p;
그리고 LINQ 작성 가능,이 같은 일을 할 수 있음을 의미한다 :
var first20MichaelPilots = michaelPilots.Take(20);
을 그리고 당신은 여전히 효율적인 쿼리를 얻을 수 있습니다 예를 들어, 여기 당신이 마이클이라는 조종사를 쿼리 줄 방법 결과를 반복 할 때 DB4O에서 실행됩니다. SODA 또는 QBE 또는 NQ에서 동일하게 수행하는 것은 좋지 않습니다.
나를 제네릭으로 때려. 어떤 종류의 db에 저장된 보너스 재사용 성을 제공합니까? –