using System; using System.Runtime.Serialization; using Tanshu.Accounts.Contracts; using NHibernate.Mapping.ByCode.Conformist; using NHibernate.Mapping.ByCode; using System.Collections.Generic; namespace Tanshu.Accounts.Entities { public class Waiter { public virtual Guid WaiterID { get; set; } public virtual string Name { get; set; } public virtual IList Vouchers { get; set; } } public class WaiterMap : ClassMapping { public WaiterMap() { Table("Waiters"); Schema("dbo"); Lazy(true); Id(x => x.WaiterID, map => map.Generator(Generators.GuidComb)); Property(x => x.Name, map => { map.NotNullable(true); map.Unique(true); }); Bag(x => x.Vouchers, colmap => { colmap.Key(x => x.Column("WaiterID")); colmap.Inverse(true); }, map => { map.OneToMany(); }); } } }