2010-04-16 4 views
1

Я новичок в NHibernate и только что начал работу прямо сейчас.Исключение при получении записи с использованием Nhibernate

У меня есть очень простая таблица содержит Id (Int первичный ключ и автоматически увеличивается на единицу), Name (VARCHAR (100)), описание (VARCHAR (100))

Вот мой XML

<class name="DevelopmentStep" table="DevelopmentSteps" lazy="true"> 
<id name="Id" type="Int32" column="Id"> 
</id> 
<property name="Name" column="Name" type="String" length="100" not-null="false"/> 
<property name="Description" column="Description" type="String" length="100" not-null="false"/> 

вот как я хочу, чтобы получить все записи

public List<DevelopmentStep> getDevelopmentSteps() 
    { 
     List<DevelopmentStep> developmentStep; 
     developmentStep = Repository.FindAll<DevelopmentStep>(new OrderBy("Name", Order.Asc)); 
     return developmentStep; 
    } 

Но я получаю исключение

The element 'id' in namespace 'urn:nhibernate-mapping-2.2' has incomplete content. List 
of possible elements expected: 'urn:nhibernate-mapping-2.2:meta urn:nhibernate-mapping- 
2.2:column urn:nhibernate-mapping-2.2:generator'. 

Пожалуйста, посоветуйте мне --- Спасибо

ответ

4

Вам необходимо указать тип генератора Ид в вашем отображении:

<id name="Id" type="Int32" column="Id"> 
    <generator class="native" /> 
</id> 
+0

да, проблема решена. спасибо alot –

+0

вы можете рассказать мне еще одну вещь, как я могу сделать сложные запросы с использованием HQL в методе выше, который я опубликовал в своем вопросе? например ... select t1.ID, t2.Name из таблицы1 t1 внутреннее соединение Таблица2 на t1.ID = t2.ID где t.ID = 2 –

+0

Я видел пример в Интернете и нахожу HQL, но я не могу используйте это ......... public List getDevelopmentSteps1() { string hql = "From DevelopmentSteps d inner join table2 t2 d.id = t2.Id где d.id = IDValue"; IQuery q = session.CreateQuery (hql); } ----- здесь я получаю вопрос на сессии –

Смежные вопросы