NHibernate:映射IList类型的属性<;日期时间>;
使用NHibernate,是否有一种快速的方法来映射以下类:NHibernate:映射IList类型的属性<;日期时间>;,nhibernate,Nhibernate,使用NHibernate,是否有一种快速的方法来映射以下类: public class Office { public virtual Guid Id { get; set; } public virtual IList<DateTime> Holidays { get; set; } } 快?我认为是这样。创建OfficeHoliday类并将其从Office映射为一对多,将集合映射为Office中的私人成员。然后公开假日属性和维护它的方法 public class
public class Office
{
public virtual Guid Id { get; set; }
public virtual IList<DateTime> Holidays { get; set; }
}
快?我认为是这样。创建OfficeHoliday类并将其从Office映射为一对多,将集合映射为Office中的私人成员。然后公开假日属性和维护它的方法
public class Office
{
private IList<OfficeHoliday> _officeHolidays;
public virtual Guid Id { get; set; }
public IEnumerable<DateTime> Holidays
{
get { return _officeHolidays.Select(x => x.Holiday); }
}
public void AddHoliday(DateTime holiday)
{
// should check if it already exists first...
var newHoliday = new OfficeHoliday(this, holiday.Date);
_officeHolidays.Add(newHoliday);
}
public void RemoveHoliday(DateTime holiday)
{
var removeHoliday = _officeHolidays.FirstOrDefault(x => x.Holiday == holiday.Date);
if (removeHoliday != null)
{
_officeHolidays.Remove(removeHoliday);
}
}
}
公共班级办公室
{
私人假期;
公共虚拟Guid Id{get;set;}
公众假期
{
获取{return _officeHolidays.Select(x=>x.Holiday);}
}
公共假日(日期时间假日)
{
//应该先检查它是否已经存在。。。
var newHoliday=新办公假日(此为假日.Date);
_officeHolidays.Add(newHoliday);
}
公共取消作废假日(日期时间假日)
{
var removeHoliday=_officeHolidays.FirstOrDefault(x=>x.Holiday==Holiday.Date);
如果(removeHoliday!=null)
{
_办公假日。移除(移除假日);
}
}
}
public class Office
{
private IList<OfficeHoliday> _officeHolidays;
public virtual Guid Id { get; set; }
public IEnumerable<DateTime> Holidays
{
get { return _officeHolidays.Select(x => x.Holiday); }
}
public void AddHoliday(DateTime holiday)
{
// should check if it already exists first...
var newHoliday = new OfficeHoliday(this, holiday.Date);
_officeHolidays.Add(newHoliday);
}
public void RemoveHoliday(DateTime holiday)
{
var removeHoliday = _officeHolidays.FirstOrDefault(x => x.Holiday == holiday.Date);
if (removeHoliday != null)
{
_officeHolidays.Remove(removeHoliday);
}
}
}