1
我添加一個新的類,我的域名,但這次流利不會映射到數據庫NHibernate的流利不映射實體特有
這是類
namespace FClinic.Domain.Entities.Tenants
{
using System;
using Core;
public class Tenant : BaseTenant
{
public virtual DateTime UsageUntil { get; set; }
}
public abstract class BaseTenant : Entity
{
public virtual string Name { get; set; }
public virtual string Key { get; set; }
}
}
的流暢配置這一個:
public class FclinicConfiguration : DefaultAutomappingConfiguration
{
public override bool ShouldMap(Type type)
{
if (type.Name.Contains("<>c__DisplayClass"))
return false;
if (type.Name == "CancelationResult")
return false;
return type.Namespace != null && type.Namespace.StartsWith("FClinic.Domain.Entities") && !type.IsValueType;
}
public override bool ShouldMap(FluentNHibernate.Member member)
{
if (!member.CanWrite)
return false;
return base.ShouldMap(member);
}
public override bool IsComponent(Type type)
{
if (type == typeof(ContactoEmergencia))
{
return true;
}
return base.IsComponent(type);
}
}
正如喲可以看到租客實體命名空間開始與「FClinic.Domain.Entities」,並符合其他條件
type.Namespace != null
&& type.Namespace.StartsWith("FClinic.Domain.Entities")
&& !type.IsValueType;
其實方法ShouldMap(類型類型)返回true的租客類型,但是當我檢查數據庫生成它包括所有的其他類,除了這一個
任何想法?
流利配置
_sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(config.ConnectionString))
.Mappings(m => m.AutoMappings
.Add(AutoMap.AssemblyOf<Administrador>(new FclinicConfiguration())
.UseOverridesFromAssemblyOf<UsuarioMappingOverride>()
.IncludeBase<TreatmentBaseTemplate>()
.Conventions.Add<GuidIdentity>()
.Conventions.Add<ForeignKeyNameConvention>()
.Conventions.Add<ReferenceConvention>()
.Conventions.Add<DecimalConvention>()))
.ExposeConfiguration(c => new SchemaUpdate(c).Execute(false, true))
.BuildSessionFactory();
你能給你流利的nhibernate配置:以流利的。配置()等開頭。 –