using System; using System.Collections; using System.Text; using NHibernate.Mapping.Attributes; using NHibernate; using NHibernate.Cfg; using Iesi.Collections; namespace Pcms.Classes.Data { [Class(Table = "[Group]")] public class Group { private int _groupID; private string _name; private ISet _user; [Id(0, Name = "GroupID", Type = "Int32", UnsavedValue = "0")] [Generator(1, Class = "identity")] public virtual int GroupID { get { return _groupID;} set { _groupID = value;} } [Property(Type = "AnsiString", NotNull = true, Length = 50)] public virtual string Name { get { return _name; } set { _name = value; } } [Set(0, Name = "User", Table = "UserGroup", Lazy = true, Cascade = CascadeStyle.SaveUpdate)] [Key(1, Column = "UserID")] [ManyToMany(2, Class = "Pcms.Classes.Data.User,Pcms", Column = "GroupID")] public virtual ISet User { get { return _user; } set { _user = value; } } } } // Code ISession session = Pcms.Classes.Base.NHibernateHelper.SessionFactory.OpenSession(); ITransaction tx = null; try { tx = session.BeginTransaction(); Pcms.Classes.Data.Group objGroup = new Group(); objGroup.User = new HashedSet(); objGroup.User.Add(new User()); session.Save(objGroup); tx.Commit(); } catch (HibernateException eeeee) { if (tx != null) tx.Rollback(); throw eeeee; } finally { session.Close(); }