using System; using System.Collections.Generic; using System.Linq; using System.Text; using FluentNHibernate.Conventions; using FluentNHibernate.Conventions.Inspections; using FluentNHibernate.Conventions.Instances; using FluentNHibernate.Conventions.AcceptanceCriteria; using System.Diagnostics; namespace Tanshu.Accounts.Conventions { public class PrimaryKeyConvention : IIdConvention, IIdConventionAcceptance { public void Apply(IIdentityInstance instance) { Trace.TraceInformation("PK on {0}.{1}", instance.EntityType.Name, instance.EntityType.Name + "ID"); instance.Column(instance.EntityType.Name + "ID"); //instance.GeneratedBy.Assigned(); //instance.Access.ReadOnlyPropertyThroughCamelCaseField(CamelCasePrefix.None); } public void Accept(IAcceptanceCriteria criteria) { criteria.Expect(x => x.Name == x.EntityType.Name + "ID"); } } }