2013-12-19 2 views
1

i m используя NHibernate 3.3 с linq. Когда я пишу запрос select, ничего не получается. Код для конфигурирования и сеанса открытия сеанса присваивается.выберите запрос в linq с помощью nhibernate

Dim cfg As New Configuration() 
       cfg.Properties.Add(NHibernate.Cfg.Environment. _ 
        ConnectionProvider, GetType(NHibernate.Connection. _ 
        DriverConnectionProvider).AssemblyQualifiedName) 

       cfg.Properties.Add(NHibernate.Cfg.Environment.Dialect, _ 
        GetType(NHibernate.Dialect.MsSql2012Dialect). _ 
        AssemblyQualifiedName) 

       cfg.Properties.Add(NHibernate.Cfg.Environment.ConnectionDriver, _ 
        GetType(NHibernate.Driver.SqlClientDriver). _ 
        AssemblyQualifiedName) 

       cfg.Properties.Add(NHibernate.Cfg.Environment.ConnectionStringName, _ 
    "connectionstring") 


       cfg.Properties.Add(NHibernate.Cfg.Environment. _ 
       ProxyFactoryFactoryClass, GetType _ 
       (NHibernate.Bytecode.DefaultProxyFactoryFactory). _ 
       AssemblyQualifiedName) 

       Dim s2 As NHibernate.ISessionFactory = cfg.BuildSessionFactory 

       db = s2.OpenSession() 

ДО здесь работает нормально и запрос не является

Dim user As myClass = New myClass 
      Dim query = (From my_table In db.Query(Of myClass)() Where user.fname = name Select IMSDK_Users).SingleOrDefault 

но обратный запрос ничего. Пожалуйста, помогите спасибо

+0

так, возможно, не пользователи с 'имя_файла = name'? – Grundy

+0

Может возникнуть проблема с вашим предложением where, попробуйте без него подтвердить. Каково значение 'user.fname'? и 'имя'? – jbl

ответ

0

включают в себя следующие пространства имен:

Imports System.Linq 
Imports NHibernate 
Imports NHibernate.Linq 

и попробовать это:

Dim query = (From c In db.Query(Of myClass)() Where c.fname = name Select c).FirstOrDefault() 
Смежные вопросы