2011-01-15 10 views
0

私の新しいデータベースでは、nHibernateが非常にうまく動作しています。実際、マッピングファイルに基づいてスキーマを生成させることは非常に役に立ちました。nhibernateでスキーマの変更を認識させる方法

しかし、今私のテーブルにデータがあり、私はスキーマの更新を開始する必要があります。私はすべてのテーブルを削除するので、SchemaExportを使用したくありません。私はいくつかのnull以外の列が必要なので、SchemaUpdateを使用したくありません。そのため、私はデータベースを手動で更新する必要があります。これは大丈夫です。

変更を加えてユニットテストを実行します。そして、彼らは失敗しますが、それらのいくつかだけです。 .CreateQueryを使用するクエリは、新しく追加された列

差が発生している理由を任意のアイデアから任意のデータを含んでいません 新たに追加された列のデータを返す.CreateCriteria使用

クエリ?

+1

設定をシリアル化していますか?もしそうなら、ファイルを吹き飛ばす必要があります。それ以外の場合は、マッピングが正しいことを前提として、スキーマの変更を取得する必要があります。 – Phill

+0

マッピングはあなたのスキーマについてNHが知っている唯一のものです... – dotjoe

+0

これはルーキーミスでした。エンティティの1つのマッピングファイルが埋め込みリソースではありませんでした。 – yamspog

答えて

1

あなたのCreateQueryメソッドが生のHQL文字列で動作している場合、それらを更新するのと同じくらい単純で退屈なものになる可能性があります。

+0

ルーキーミスでした。マッピングファイルの1つに「埋め込みコンテンツ」とマークされていませんでした。更新され、すべてが機能します! – yamspog

関連する問題