Как использовать свойство (строка notVisiblePropertyOrFieldName, действие <IPropertyMapper>mapping) для ComposedId? - PullRequest
2 голосов
/ 03 ноября 2011

Я пытаюсь отобразить что-то в коде.

это прекрасно работает:

ComposedId(cm =>
               {
                   cm.Property(x => x.Column1);
                   cm.Property(x => x.Column2);
               });

которая является функцией

void Property<TProperty>(Expression<Func<TContainer, TProperty>> property);

Однако я пытаюсь сделать его более динамичным, с

void Property(string notVisiblePropertyOrFieldName, Action<IPropertyMapper> mapping)

Я попытался настроить каждую опцию, например, так:

ComposedId(cm =>
               {
                       cm.Property("Column1", a =>
                                                   {
                                                       a.Access(Accessor.Property);
                                                       a.Column("Column1");
                                                       a.Generated(PropertyGeneration.Never);
                                                       a.Index("Column1");
                                                       a.Insert(true);
                                                       a.Lazy(false);
                                                       a.NotNullable(true);
                                                       a.Update(true);
                                                       a.Unique(false);
                                                       a.Type(NHibernateUtil.Int32);
                                                       a.Length(int.MaxValue);
                                                       a.Scale(0);
                                                   });
                   }
               });

И похоже на Column2, но, похоже, ничего не работает. он просто игнорирует мой ComposedId, я предполагаю, что nhibernate не распознает его как правильный идентификатор, потому что он пытается использовать столбец «Id» в качестве идентификатора, который не существует.

как я могу создать отображение Action, чтобы оно работало?

...