В моем проекте у меня есть класс с именем пользователя со следующим определением:Nhibernate QueryOver не работает, но CreateSqlQuery работает
public class User
{
public virtual Guid UserId { get; set; }
public virtual string UserName { get; set; }
public virtual string Password { get; set; }
}
и вот картографа класс:
public class UserMap : ClassMap<User>
{
public UserMap()
{
Id(x => x.UserId).Column("UserId");
Map(x => x.UserName).Column("UserName");
Map(x => x.Password).Column("Password");
}
}
, когда я пытаюсь выполнить следующий код не возвращает никакого результата:
Но когда я использую CreateSqlQuery ("sele . Кар * из [DBO] [Пользователь] ") метод возвращает значение без имен столбцов:
и вот мой Nhibernate код конфигурации:
public class NHibernateSessionFactory
{
private ISessionFactory sessionFactory;
private readonly string ConnectionString = "";
public NHibernateSessionFactory(String connectionString)
{
this.ConnectionString = connectionString;
}
public ISessionFactory SessionFactory
{
get { return sessionFactory ?? (sessionFactory = CreateSessionFactory()); }
}
public ISessionFactory CreateSessionFactory()
{
try
{
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(x => x.FromConnectionStringWithKey(ConnectionString)))
.Mappings(m =>
m.FluentMappings
.AddFromAssemblyOf<User>())
.ExposeConfiguration(config => new SchemaUpdate(config).Execute(false, true))
.BuildSessionFactory();
}
catch (Exception ex)
{
throw ex;
}
}
}
чем проблема?
На скриншоте окна, похоже, произошло исключение, возможно, при запуске запроса QueryOver. Это так? Если да, можете ли вы опубликовать информацию об исключении? –