using FluentNHibernate.Conventions; using FluentNHibernate.Conventions.Instances; using FluentNHibernate.Conventions.Inspections; using FluentNHibernate.Conventions.AcceptanceCriteria; using Tanshu.Accounts.SqlDAO; using System.Diagnostics; namespace Tanshu.Accounts.Conventions { public class NotNullConvention : IPropertyConvention, IPropertyConventionAcceptance { public void Apply(IPropertyInstance instance) { var property = instance.Property; Trace.TraceInformation("Not Null on {0}.{1}", property.DeclaringType.Name, property.Name); instance.Not.Nullable(); } public void Accept(IAcceptanceCriteria criteria) { criteria.Expect(x => AttributeChecker.NotNull(x.Property.MemberInfo)); } } }