2009-03-05 4 views
0

Activerecord가 DB 디자인에 제공하는 유연성의 종류, 우리는 DAL을 위해 그것을보고 있으며 모델을 중심으로 구축합니다. 우리는이 모든 것 위에 WCF 서비스를 만들 것입니다. NHibernate 기반의 Castle Activerecord를 사용할 때 문제가 있습니까? WCF가 사용하는 DataContractSerializer와 관련하여 특히 그렇습니다. ActiveRecord는 IQueryable을 사용하지 않으므로 그리울 일이 너무 많습니까 ??Castle ActiveRecord/Hibernate with WCF를 사용할 때 문제가 있습니까?

답변

1

연속 된 개체 = 분리 개체. WCF를 통해 전선을 통해 객체를 보내면 그게 바로 당신이 가진 것입니다.

큰 문제는 WCF가 분리 된 객체와 함께 NHibernate를 사용할 때 다루어야한다는 것입니다. 이는 코드를 약간 다르게 작성하도록합니다. 당신은 NHibernate의 캐싱 능력과 게으른 로딩 기능을 잃게됩니다. 집계를 전선에 선적하기 전에 집계를 미리로드해야합니다.

물론 데이터 전송 개체를 사용하는 경우에는 문제가 있지만 ActiveRecord에 대해 언급 한 이후로 계획이 아니라고 생각합니다.

나는 여기서 벗어날 수 있습니다. ActiveRecord 전문가가 더 자세한 정보를 제공하기를 바랍니다.

1

WCF 및 캐슬 액티브 코드와 관련이 없지만 경고를 제공합니다.

지속 레이어에 CASCADING DELETE가 정의되어 있지 않은지 확인하십시오. ActiveRecord가 당신을 위해 그것들을 다룰 수있게하면 나중에 명확하지 않은 타입의 것들을 성가신 오류 (추측 된 0 개의 예상 1)와 마주 치게 될 것입니다.

캐풀 구현이 대량 삭제를 지원하지 않으므로 ActiveRecord를 사용하여주의해야 할 수도 있습니다. 대신 삭제할 각 항목과 개별 삭제에 대한 값 비싼 루프가 필요합니다. 발생합니다.

관련 문제