Четкая архитектура и свободный NHibernate 1.1 - PullRequest
1 голос
/ 07 июля 2010

Я новичок в этой группе, поэтому извиняюсь, если на этот вопрос уже был дан ответ (Я хорошо выглядел). Я смотрю на острую архитектуру для проект, который я скоро начну.

Я экспериментирую с образцом Нортвинда и хотел проверить самореферентные отношения, но обнаружил Fluent NHibernate 1.1 было необходимо (см. http://support.fluentnhibernate.org/discussions/help/127-parentchild-...).

Так что я перекомпилировал с версией 1.1 свободно и столкнулся с парой проблемы с классом Employee. Первая ошибка была на линии FullName нуждается в получении. Я решил это с отображением.IgnoreProperty (x => x.FullName); в классе EmployeeMap.

Следующая проблема, которую мне не удалось решить: Неверное имя столбца 'Id'. я из результатов теста видно, что NHibernate пытается сделать "SELECT top 0 this_.Id "и т. д. Однако класс EmployeeMap отображает его на EmployeeID, поэтому можно ожидать появления «SELECT top 0 this_.EmployeeID»

    mapping.Id(x => x.Id, "EmployeeID")
            .UnsavedValue(0)
            .GeneratedBy.Identity();

Есть идеи?

Спасибо ... Рич

Ответы [ 3 ]

1 голос
/ 06 октября 2010

Только для справки: у меня была та же проблема, и проблема для меня заключалась в том, что я добавил дополнительное свойство Id в свой класс Employee.

0 голосов
/ 22 июля 2010

Вы выводите свои сопоставления классов из ClassMap <>?

Я не работал с S #, но наши отображения FnH1.1 выглядят так:

public class EntityMap : ClassMap<Entity>
{

    public EntityMap ()
    {

        // Single table
        Table("EntityTable");

        // ID
        Id(x => x.Id, "EntityId")
            .GeneratedBy
            .HiLo("NHibernateHilo", "HighId", "1", "EntityId=1");

        // References
        References(x => x.Object, "ReferenceFieldId").Cascade.SaveUpdate();

        // Properties
        Map(x => x.PropertyName, "FieldName");

    }

}
0 голосов
/ 09 июля 2010

Я внес аналогичные изменения в собственный демонстрационный проект, а также в проект Northwind, и у меня не было проблем.Вы перекомпилировали SharpArch.dll, используя новый FluentNHibernate.dll?

С уважением
Дан

...