narsil/Tanshu.Accounts.Contracts/Data Contracts/ReprintBO.cs

49 lines
1.4 KiB
C#

using NHibernate.Mapping.ByCode;
using NHibernate.Mapping.ByCode.Conformist;
using System;
using Tanshu.Accounts.Entities.Auth;
namespace Tanshu.Accounts.Entities
{
public class Reprint
{
public virtual Guid ReprintID { get; set; }
public virtual User User { get; set; }
protected DateTime _date;
public virtual DateTime Date { get { return _date; } }
public virtual Voucher Voucher { get; set; }
}
public class ReprintMap : ClassMapping<Reprint>
{
public ReprintMap()
{
Table("Reprints");
Schema("dbo");
Lazy(true);
SqlInsert(@"exec ReprintInsert ?,?,?");
Id(x => x.ReprintID, map => map.Generator(Generators.GuidComb));
Property(x => x.Date, map =>
{
map.NotNullable(true);
map.Generated(PropertyGeneration.Insert);
map.Access(Accessor.NoSetter);
});
ManyToOne(x => x.User, map =>
{
map.Column("UserID");
map.NotNullable(true);
map.Cascade(Cascade.None);
});
ManyToOne(x => x.Voucher, map =>
{
map.Column("VoucherID");
map.NotNullable(true);
map.Cascade(Cascade.None);
});
}
}
}