2012-01-06 1 views
3

をサポートしていませんか?私はMySQLの方言を使用していますが、クエリーが非常に単純なものとして間違っている場所を想像することはできません。NHibernateの私は、このクエリを実行しようとすると方言はDbType.Double

AccountBalanceは、doubleです。私も、長いタイプのIDフィールドの平均で試してみましたが、同じ正確なエラーメッセージを受け取りました。

+0

は、使用してNHibernateのバージョンの設定ファイルやブートストラップの方言? –

+0

とセッションファクトリの設定方法を共有することができます –

+0

Nhibernateは3.2以降で、セッションファクトリはコードで構成されています。 –

答えて

8

NHibernateは戻り値のタイプがAVGであることを保証するためにキャストを使用します。

MySql以前のバージョン5はNUMERICタイプのCASTをサポートしていません。 The support was added in MySql 5.0.8。したがって、MySQL5Dialectを使用する必要があります。

ORIGINAL ANSWER

これが役立つかどうかは知りませんが、私は同様の問題を抱えていた上で言ったように。私は私が代わりにMySQL5Dialectを使用し、私の問題を解決するには(FluentNHibernate.Cfg.Db.MySQLConfiguration経由)

をNHibernate.Dialect.MySQLDialectを使用していたことを発見してさらに少し掘る際に、すなわち

Fluently.Configure().Database(MySQLConfiguration.Standard 
    .Dialect<MySQL5Dialect>() 
    .ConnectionString(connectionString)) 
私は本当にこの1に私の頭を悩まれたように、これはあなたを助け

希望...

+0

これは私のためのトリック、感謝をしました。 – George

0

変更

関連する問題