2010-11-22 1 views
0

私のテーブルには、いくつかのint(11)およびint(11)null可能な列があります。私のドメインオブジェクトはintとintが同じですか?プロパティ。ValidateSchemaは、OverflowExceptionを返します。

私はValidateSchemaを実行すると、私は非常に良いエラーメッセージを表示せずに例外を取得:メソッドはリフレクターを使用して奇妙な何かを行いますよう

at System.Convert.ToInt32(UInt64 value) 
    at System.UInt64.System.IConvertible.ToInt32(IFormatProvider provider) 
    at System.Convert.ToInt32(Object value) 
    at NHibernate.Dialect.Schema.MySQLColumnMetadata..ctor(DataRow rs) 
    at NHibernate.Dialect.Schema.MySQLTableMetadata.GetColumnMetadata(DataRow rs) 
    at NHibernate.Dialect.Schema.AbstractTableMetadata.AddColumn(DataRow rs) 
    at NHibernate.Dialect.Schema.AbstractTableMetadata.InitColumns(IDataBaseSchema meta) 
    at NHibernate.Dialect.Schema.AbstractTableMetadata..ctor(DataRow rs, IDataBaseSchema meta, Boolean extras) 
    at NHibernate.Dialect.Schema.MySQLTableMetadata..ctor(DataRow rs, IDataBaseSchema meta, Boolean extras) 
    at NHibernate.Dialect.Schema.MySQLDataBaseSchema.GetTableMetadata(DataRow rs, Boolean extras) 
    at NHibernate.Tool.hbm2ddl.DatabaseMetadata.GetTableMetadata(String name, String schema, String catalog, Boolean isQuoted) 
    at NHibernate.Cfg.Configuration.ValidateSchema(Dialect dialect, DatabaseMetadata databaseMetadata) 
    at NHibernate.Tool.hbm2ddl.SchemaValidator.Validate() 

は見えません:

public MySQLColumnMetadata(DataRow rs) : base(rs) 
{ 
    base.Name = Convert.ToString(rs["COLUMN_NAME"]); 
    object obj2 = rs["CHARACTER_MAXIMUM_LENGTH"]; 
    if (obj2 != DBNull.Value) 
    { 
     base.ColumnSize = Convert.ToInt32(obj2); 
    } 
    obj2 = rs["NUMERIC_PRECISION"]; 
    if (obj2 != DBNull.Value) 
    { 
     base.NumericalPrecision = Convert.ToInt32(obj2); 
    } 
    base.Nullable = Convert.ToString(rs["IS_NULLABLE"]); 
    base.TypeName = Convert.ToString(rs["DATA_TYPE"]); 
} 

私も持っていますいくつかのDateTimeとDateTime?私のモデルで。私はmysqlのnhibernateが少し奇妙なDateTimeのです知っている。これが問題だろうか?

答えて

0

私はnhibernateソースを追加し、それが私のデータベースのlongtextカラムのせいであることが判明しました。私のmysql方言はサポートされていません。

EDIT:

そしてhere's the fix、私は問題を回避するために使用。それは私の検証の問題や完全な修正のための回避策であるかどうかわからない...

関連する問題