Можно ли в nHibernate установить свойство NOT для сопоставления со столбцом в таблице, в то время как другие свойства класса это делают

У меня есть класс и все свойства, но один сопоставлен с соответствующими столбцами таблицы. Теперь одно оставшееся свойство, которое я хочу установить на какое-то значение, когда nhibernate создает новый экземпляр класса.

например.

    --only two columns

    CREATE TABLE [dbo].[Person](
        [key] [int] NOT NULL,
        [Name] [nvarchar](50) NULL) 
    --..........


    public class Entity
    {
    public int key {get;set;}
    public string EntityType {get;set;}
    }

    public class Person : Entity
    {
    public string Name {get;set;} 
    }


and i have maps
            Map(Person => Person.key).Not.Nullable();
            Map(Person => Person.Name).Not.Nullable();  
            // i don't want a map for EntityType 

здесь я хочу для экземпляра Person, EntityType всегда должен быть установлен на пользовательскую строку "Person". другие свойства обычно сопоставляются с соответствующими столбцами таблицы персон.

Это возможно?

1 ответ

Просто инициализируйте EntityType недвижимость в Person конструктор с вашим желаемым значением. Вам не нужно наносить на карту это.

public class Person : Entity
{
    public Person()
    {
        EntityType = "Person";
    }
}
Другие вопросы по тегам