に動作します: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");
}
}
私が実行しようとすると、次のコードは結果を返しません:
public IQueryable<User> GetByUserPassword(string userName, string password)
{
var result = Session.QueryOver<User>()
.Where(x => x.Password == password && x.UserName == userName)
.List<User>();
return result.AsQueryable();
}
しかし、私はCreateSqlQuery( "sele 。
を、ここで私のNHibernateの構成コードです::[DBO]からのCT *は、[ユーザー] ")メソッドには、カラム名なしで値を返します
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クエリを実行しているときに例外が発生したように見えます。これは本当ですか?もしそうなら、あなたは例外に関する情報を投稿できますか? –