using FluentNHibernate.Mapping; using GeneralApi.Core.Common; using Taloyhtio.GeneralApi.Core.Common; using Taloyhtio.GeneralApi.Core.Entities; namespace GeneralApi.Core.Infrastructure.DataAccess.Mappings { public class BoardMemberMap : ClassMap { public BoardMemberMap() { Table("[BoardMember]"); Id(x => x.Id); Map(x => x.FirstName) .Length(Constants.DataAccess.BoardMember.FIRST_NAME_MAX_LENGTH) .Not.Nullable() .UniqueKey("UQ_BoardMember"); // the same for FirstName, LastName, COndoId Map(x => x.LastName) .Length(Constants.DataAccess.BoardMember.LAST_NAME_MAX_LENGTH) .Not.Nullable() .UniqueKey("UQ_BoardMember"); Map(x => x.Address).Length(Constants.DataAccess.BoardMember.ADDRESS_MAX_LENGTH); Map(x => x.Postcode).Length(Constants.DataAccess.BoardMember.POSTCODE_MAX_LENGTH); Map(x => x.Town).Length(Constants.DataAccess.BoardMember.TOWN_MAX_LENGTH); Map(x => x.FlatNumber).Length(Constants.DataAccess.BoardMember.FLAT_NUMBER_MAX_LENGTH); Map(x => x.Email).Length(Constants.DataAccess.BoardMember.EMAIL_MAX_LENGTH); Map(x => x.Mobile).Length(Constants.DataAccess.BoardMember.MOBILE_MAX_LENGTH); Map(x => x.LastUpdated); Map(x => x.Deactivated).Not.Nullable(); References(x => x.Condo) .Column("CondoId") .Not.Nullable() .UniqueKey("UQ_BoardMember"); // the same for FirstName, LastName, COndoId } } }