How I can use table model(entity)and her Map class from two different assemblies? If I put map class in model's assembly, everything OK, but i need to use different assemblies for onion architecture. My entity class:
public partial class SP_Quarters
{
public virtual int id { get; set; }
public virtual Nullable<byte> active { get; set; }
public virtual string name0_ru { get; set; }
public virtual string name0_uz { get; set; }
}
Map class:
public SP_QuartersMap()
{
Id(x => x.id);
Map(x => x.active);
Map(x => x.name0_ru);
Map(x => x.name0_uz);
}
And session factory:
public ISession OpenSession()
{
ISessionFactory sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2012.ConnectionString(ConnectionString))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<SP_Quarters>())
.ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true))
.BuildSessionFactory();
return sessionFactory.OpenSession();
}
Solution
public ISession OpenSession()
{
ISessionFactory sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2012.ConnectionString(ConnectionString))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<SP_Quarters>().Add<SP_QuartersMap>())
.ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true))
.BuildSessionFactory();
return sessionFactory.OpenSession();
}
public ISession OpenSession()
{
ISessionFactory sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2012.ConnectionString(ConnectionString))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<SP_Quarters>().Add<SP_QuartersMap>())
.ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true))
.BuildSessionFactory();
return sessionFactory.OpenSession();
}