Как я могу игнорировать свойство карты в NHibernate с сеттером - PullRequest
0 голосов
/ 23 марта 2012

Мне нужно игнорировать свойство карты с помощью сеттера в NHibernate, потому что требуется связь между сущностями.Это моя простая модель

public class Person
{
    public virtual Guid PersonId { get; set; }

    public virtual string FirstName { get; set; }

    public virtual string SecondName { get; set; }

    //this is the property that do not want to map
    public Credential Credential { get; set; }
}

public class Credential
{
    public string CodeAccess { get; set; }

    public bool EsPremium { get; set; }
}

public sealed class PersonMap : ClassMapping<Person>
{
    public PersonMap()
    {
        Table("Person");
        Cache(x => x.Usage(CacheUsage.ReadWrite));
        Id(x => x.Id, m =>
        {
            m.Generator(Generators.GuidComb);
            m.Column("PersonId");
        });

        Property(x => x.FirstName, map =>
        {
            map.NotNullable(true);
            map.Length(255);
        });
        Property(x => x.SecondName, map =>
        {
            map.NotNullable(true);
            map.Length(255);
        });


    }

}

Я знаю, что если я оставлю свойство Credential {get;}, я не собираюсь брать карту NHibernate, но мне нужно установить значение в моей логике бизнеса.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 23 марта 2012

Просто сделайте его доступным только для чтения

Property(x => x.Credential, map => map.Access(Accessor.ReadOnly));
0 голосов
/ 23 марта 2012

Я не уверен в этом, но вы можете попробовать это:

Property(x => x.Credential, map => map.Access(Accessor.None));
...