При использовании сопоставления NHibernate по функциональности кода, как я могу сопоставить идентификатор объекта с частным полем поддержки?Как сопоставить идентификатор для частного поля поддержки в сопоставлении NHibernate по коду?
public abstract class Entity : IEntity
{
private Guid? _id;
protected Entity() { }
protected Entity(Guid? id)
{
_id = id;
}
#region IEntity Members
/// <summary>
/// Gets the unique id for this entity.
/// </summary>
/// <value>The id.</value>
public Guid? Id
{
get { return _id;
}
}
Mapping:
public abstract class GuidKeyedClassMapping<T> : ClassMapping<T> where T : class, IEntity
{
protected GuidKeyedClassMapping()
{
// What to write here???
Id(x=> x.Id);
}
}
Пытались с указав свойство или поле со строкой, но безрезультатно.
Id(x => "_id", m => m.Access(Accessor.Field));
... дает мне:
Исключение типа 'System.Exception' произошло в NHibernate.dll но не была обработана в коде пользователя Дополнительной информации: Invalid типа выражения: Ожидаемый ExpressionType.MemberAccess Найдено Constant