Taylohtio/GeneralApi/GeneralApi.Core/Infrastructure/DataAccess/Mappings/BoardMemberMap.cs

40 lines
1.6 KiB
C#

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<BoardMember>
{
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
}
}
}