다른 프로젝트에있는 다른 클래스 라이브러리와 NHibernate 레이어에 매핑 및 엔티티가 저장된 프로젝트가 있습니다. 내 테스트 프로젝트에서 나는 맵핑을 유창하게 configure ... 맵핑을 통해 추가하고 싶다. assebly를 통해 그리고 개별적으로는 안된다. 아래의 코드에서 하나의 엔티티 만 추가 한 것을 볼 수 있습니다 .. 하지만 다른 어셈블리를 스캔하도록 구성하고 싶습니다. 난 당신이 유형을 필터링하려면이NHibernate Fluent 외부 어셈블리 매핑 추가
[Test]
public void Can_generate_schemaFluently()
{
var cfg = new Configuration();
cfg.Configure();
Configuration configuration = null;
ISessionFactory SessionFactory = null;
ISession session = null;
SessionFactory = Fluently.Configure(cfg)
*** WOULD LIKE TO ADD MY ASSEBLIES and autoscan for objects instead ***
.Mappings(m => m.FluentMappings
.Add(typeof(StudentEOMap))
)
.ExposeConfiguration(x => configuration = x)
.BuildSessionFactory();
session = SessionFactory.OpenSession();
object id;
using (var tx = session.BeginTransaction())
{
var result = session.Get<StudentEO>(1541057);
tx.Commit();
Assert.AreEqual(result.StudId, 1541057);
}
session.Close();
}
나는 나의 매핑을 포함하는 클래스 라이브러리를 가지고있다. .. 그리고 내 nhibernate 코드와 물론 테스트 lib를 포함하는 클래스 라이브러리. 테스트 lib에서 나는 모든 엔티티 매핑을 포함하고있는 클래스 lib를 스캔하고 싶다. 나는 아직도 각 엔티티 매핑을 제공 할 필요가있는 것처럼 보이는 예제를 보았다. 나는 단지 여기의 솔루션을 보지 않고있다. 우연히 참조하는 것에 대한 문서에 대한 링크가 있습니까? –
@WarrenLaFrance 매핑이 정의 된 Assembly를 제공하면됩니다. 어셈블리는 매핑 클래스 중 하나를 선택하기 만하면되므로 모든 항목을 선택할 필요가 없습니다. Assembly.GetAssembly (typeof (EntityMap))는 클래스가 아닌 어셈블리를 선택하기 만하면됩니다. – Rabban
좋습니다. 포인터에 대한 백만 달러 감사드립니다 ... cfg \t {NHibernate.Cfg. 구성} \t NHibernate.Cfg.구성 - \t \t ClassMappings \t 개수 = 3 –