rendered paste bodyusing 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();
}