Я пытаюсь использовать свободный nhibernate для автоматического сопоставления большинства свойств класса, а затем вручную отображать 1 или 2 свойства этого же класса (без необходимости вручную сопоставлять все другие переменные в карте классов).
У меня есть класс с парой дюжин свойств, но одним из этих свойств является строка, которая должна быть длинной длины.
Вот пример:
Класс Person имеетполя: ID, имя, фамилия, описание и несколько десятков других полей.
Я бы автоматически сопоставил класс, но я хочу, чтобы 'description' было длинной строкой, а не nvarchar (255).
Итак, я пытаюсь:
открытый класс PersonMap: ClassMap {public PersonMap () {Map (x => x.description) .Length (4000);}}
, но это не автоматически сопоставляет все другие свойства (исключение выдается).Он ожидает объявления для каждого свойства.
Есть ли способ выполнить то, что я пытаюсь сделать?
Если кому-то это нужно, вот код, который я использую для объявления конфигурации:
FluentConfiguration cfg = Fluently.Configure()
.Database(FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2000.ConnectionString(Cn));
AutoPersistenceModel mdl =
AutoMap.Assembly(System.Reflection.Assembly.GetExecutingAssembly());
cfg.Mappings(m => m.AutoMappings.Add(mdl.Where(type =>
type.Namespace != null && type.Namespace.ToLower() == strNamespace.ToLower() )));
Спасибо!