FluentNHibernate バージョン 1.3.0.727
次のカスタム TableNameConvention があります。
public class TableNameConvention : IClassConvention, IClassConventionAcceptance
{
public void Accept(IAcceptanceCriteria<IClassInspector> criteria)
{
criteria.Expect(x => x.TableName, Is.Not.Set);
}
public void Apply(IClassInstance instance)
{
instance.Table(instance.EntityType.Name + "s");
}
}
次のエンティティ マッピングがあります。
public class UserMap : ClassMap<User>
{
public UserMap()
{
Id(x => x.Id).GeneratedBy.Identity();
Map(x => x.Email).Not.Nullable().Length(200);
Map(x => x.FirstName).Length(100);
Map(x => x.LastName).Length(100);
Map(x => x.Password).Not.Nullable().Length(30);
}
}
私はこのようなデータベースを生成しています:
var configuration = Fluently.Configure()
.Mappings(m => m.FluentMappings
.AddFromAssemblyOf<IEntity>()
.Conventions.Add<TableNameConvention>())
.BuildConfiguration();
var schema = new SchemaExport(configuration);
schema.Drop(false, true);
schema.Create(false, true);
次に、データベースの生成ユーザーエンティティテーブルは引き続きユーザーとして生成されますが、ユーザーとしては生成されません。Accept メソッドが失敗するようです。これは FluentNHibernate のバグですか?