2012-02-24 2 views
1

Во время выполнения я получил это животное ошибки не отображается .. В Мой следующий код: -Ошибка в NHibernate Mapping

using (ITransaction transaction = session.BeginTransaction()) 
{ 
    IQuery query = session.CreateQuery("from pet where PetName='S.J.'"); 
    pet pets = query.List<pet>()[0]; 
    session.Delete(pets); 
    transaction.Commit(); 
} 
+0

Я могу представить, что у вас есть ошибка, но каков ваш вопрос? Потому что вы используете nhibernate не правильно. – Peter

ответ

1

Измените свое «домашнее животное» на «Домашнее животное» в вашем запросе. Надеюсь, это решит проблему.

IQuery query = session.CreateQuery("from Pet where PetName='S.J.'"); 
+0

Thanx @Sajan Решено сейчас – andy

+0

@ user1008208 Можно ли отметить его как разрешенное. –

1

избежать использования HQL или SQL, когда использование NHibernate. Сильно типизированные запросы великолепны. Кажется, что следующий код будет делать то, что вы хотите.

using (ITransaction transaction = session.BeginTransaction()) 
{ 
    var pets = session 
     .QueryOver<Pet>() 
     .Where(p => p.PetName == "S.J.") 
     .List(); 
    foreach (var pet in pets){ 
     session.Delete(pet); 
    } 
    transaction.Commit(); 
} 
+0

Также проверьте свои сопоставления, чтобы убедиться, что класс Pet отображается. – Razoomnick