Поскольку я изо всех сил пытался найти решение, я хотел бы поделиться своим решением здесь (с XDocument вместо XElement, но, по крайней мере, действительно для столбцов XML).
Сначала создайте это соглашение;
using System.Xml.Linq;
using FluentNHibernate.Conventions;
using FluentNHibernate.Conventions.AcceptanceCriteria;
using FluentNHibernate.Conventions.Inspections;
using FluentNHibernate.Conventions.Instances;
public class XmlTypeConvention : IUserTypeConvention
{
public void Accept(IAcceptanceCriteria<IPropertyInspector> criteria)
{
criteria.Expect(x => x.Type == typeof(XDocument));
}
public void Apply(IPropertyInstance instance)
{
instance.CustomType<NHibernate.Type.XDocType>();
}
}
Тогда не забудьте добавить соглашение;
Conventions.Add<XmlTypeConvention>();
Теперь, если у вашего доменного объекта есть свойство XDocument, оно превратится в столбец XML в базе данных.