Fluent NHibernate를 사용하여 완전한 객체 (모든 연관된 객체가 있음)를로드하는 방법은 무엇입니까? 이 경우 개체의 이름이 Project이고 범주 및 그림 목록이 연결되어 있습니다.Fluent NHibernate로 전체 객체로드하기
public ProjectMap()
{
Id(x => x.Id);
Map(x => x.Title).Not.Nullable();
Map(x => x.Year);
Map(x => x.Slug).Not.Nullable();
Map(x => x.Description).CustomSqlType("nvarchar(MAX)").Not.Nullable();
References(x => x.Category, "CategoryId").Not.Nullable();
HasMany(x => x.Gallery)
.Inverse()
.Cascade.All();
}
그리고 저장소 방법 전체 개체를 반환해야한다 : : 매핑 파일은 다음과 같다
public Project Read(int id)
{
using (var session = NHibernateHelper.OpenSession())
{
var project = session.CreateQuery("FROM Project WHERE Id = :Id LEFT JOIN FETCH p.Category LEFT JOIN FETCH p.Gallery")
.SetParameter("Id", id).UniqueResult<Project>();
return project;
}
}
것입니다 나는 ".CreateQuery ("프로젝트에서 어디에서 ID = : Id 왼쪽 조인 FETCH.Category LEFT JOIN FETCHG.PLC ")를 사용했습니다. .SetParameter ("Id", id) .UniqueResult(); " 하지만 작동하지 않습니다 .. 난 여전히 "초기화 [Model.Entities.Category # 1] - 프록시 초기화 할 수 없습니다 - 세션 없음"오류가 발생합니다. " –
Ante
하지만 INNER JOIN .. 도와 주셔서 감사합니다. – Ante