using System; using System.Collections.Generic; using NHibernate.Mapping.ByCode; using NHibernate.Mapping.ByCode.Conformist; namespace Tanshu.Accounts.Entities.Auth { public class User { public virtual Guid UserID { get; set; } public virtual string Name { get; set; } public virtual string MsrString { get; set; } public virtual string Password { get; set; } public virtual bool LockedOut { get; set; } public virtual IList UserGroups { get; set; } public virtual IList Kots { get; set; } public virtual IList Reprints { get; set; } public virtual IList Vouchers { get; set; } public User() { UserGroups = new List(); Kots = new List(); Reprints = new List(); Vouchers = new List(); } } public class UserMap : ClassMapping { public UserMap() { Table("Auth_Users"); Schema("dbo"); Lazy(true); Id(x => x.UserID, m => m.Generator(Generators.GuidComb)); Property(x => x.Name, map => { map.NotNullable(true); map.Unique(true); }); Property(x => x.MsrString); Property(x => x.Password, m => m.NotNullable(true)); Property(x => x.LockedOut, m => m.NotNullable(true)); Bag(x => x.UserGroups, colmap => { colmap.Key(x => x.Column("UserID")); colmap.Inverse(true); }, map => { map.OneToMany(); }); Bag(x => x.Kots, colmap => { colmap.Key(x => x.Column("UserID")); colmap.Inverse(true); }, map => { map.OneToMany(); }); Bag(x => x.Reprints, colmap => { colmap.Key(x => x.Column("UserID")); colmap.Inverse(true); }, map => { map.OneToMany(); }); Bag(x => x.Vouchers, colmap => { colmap.Key(x => x.Column("UserID")); colmap.Inverse(true); }, map => { map.OneToMany(); }); } } }