問題タブ [nhibernate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - SQLite :memory: を NHibernate で使用する際の問題
私は自分のデータアクセスに NHibernate を使用していますが、しばらくの間、ローカル統合テストに SQLite を使用していません。私はファイルを使用してきましたが、:memory: オプションを削除すると思いました。統合テストのいずれかを起動すると、データベースが作成されたように見えますが (NHibernate はテーブル作成 SQL を吐き出します)、データベースとやり取りするとエラーが発生します。
NHibernate をインメモリ データベースで動作させた人はいますか? それは可能ですか?私が使用している接続文字列は次のとおりです。
c# - NHibernate 質問による並べ替え
オブジェクトを返す nHibernate ICriteria があります。単一のプロパティで並べ替えたいのですが、asc や desc ではなく、プロパティの特定の値が選択に基づいてリピーターの一番上に来るようにします。「ビデオ」を選択した場合と同様に、ビデオを含むすべてのレコードが一番上に来るようにします。
さて、クエリでこれを行うことができますか? それともリピーター?基準?
ご協力いただきありがとうございます。
nhibernate - NHibernate 基準: IN 式で 2 つの列を連結する
これは私が達成したいSQLです:
私の人生では、これに適した表現を見つけることはできません。また、ドメイン名とグループ名を連結する必要があるため、2 つの表現を使用できるとは思いません。
ありがとう!
.net - NHibernate と SQL Server 2005 を使用して PDF ファイルを保存する方法
私は、ユーザーが自分の履歴書を PDF 形式でアップロードできる Web アプリケーションを開発しています。NHibernate をデータ マッパーとして使用し、MS SQL SERVER 2005 を使用しています。
.pdf ファイルを特定のテーブルに保存できるようにしたい...何かアイデアはありますか?
どうもありがとうございました!
.net - LINQ を使用した複数の削除 (具体的には Linq2Nhibernate ですが...)
これを行う賢い方法はありますか?
を使用している場合、(1 つずつロードして削除することなく) データベースから複数の削除を行うには、またはそのようなLinq2Nhibernate
ものに頼る必要があるように思われますか?HQL
それも持っていないようですLinq2Sql
か?次のようなことができるものが欲しいだけです:
何か案は?
c# - Bidi アソシエーションと NHibernate マッピング
双方向の親子関係で親と子をリンクするクラス BidiParent と BidiChildList があります。子の親がサービス層などによって更新されると、変更を反映するために、古い親と新しい親の子リストが自動的に更新されます。同様に、新しい子を追加するなどして親の子リストが更新されると、古い親の子リストと同様に、子の親が自動的に変更されます。「スマートな」ドメイン モデルの構築を試みたいと考えています。
最初の質問は、明らかに、次のとおりです。これは良い考えですか?
2 番目の質問は、フィールド_Childrenまたは _Parentにアクセスして変更するように NHibernate に指示することはできますか? NHibernate は内部フィールドを読み込んで保存する必要がありますが、HQL または LINQ クエリはパブリック プロパティを使用する必要がありますか?
nhibernate - 引用符で囲まれた識別子を常に強制するようにNHibernateに指示する方法は?
タイトルとして: NHibernate に、それが生成する SQL ですべてのテーブルと列の名前を引用符で囲む必要があることを一度だけ伝えるにはどうすればよいでしょうか?
linq - 永続化フレームワーク?
データベースにアクセスするための最良の戦略を決定しようとしています。これは一般的な質問であり、唯一の適切な答えがないことは理解していますが、探しているものに関するガイドラインをいくつか提供します。ここ数年、私たちは独自の永続化フレームワークを使用してきましたが、これも限定的ではありますが同様に機能しています。ただし、いくつかの大きな改善が必要であり、そのようにするか、既存のフレームワークのいずれかを使用する必要があるかどうか疑問に思っています。私が探している基準は、重要な順に次のとおりです。
クライアント コードは、データベースの知識がなくても、クリーンなオブジェクトで動作する必要があります。カスタム フレームワークを使用する場合、クライアント コードは次のようになります。
SessionManager セッション = 新しい SessionManager(); オーダー order = session.CreateEntity(); order.Date = DateTime.Now; // その他のプロパティを設定します OrderDetail detail = order.AddOrderDetail(); detail.Product = 製品; // その他のプロパティ
// 今すぐすべての変更をコミットします session.Commit();
できるだけシンプルで、「柔軟性がありすぎない」必要があります。ほとんどのことを行うには、単一の方法が必要です。
- オブジェクト指向プログラミングを適切にサポートする必要があります。1 対多および多対多の関係を処理し、継承を処理し、遅延読み込みをサポートする必要があります。
- 構成は、XML ベースであることが望ましいです。
私の現在の知識では、次のオプションがあります。
- 現在のフレームワークを改善する - 問題は、かなりの労力が必要なことです。
- ADO.NET Entity Framework - よく理解していませんが、複雑すぎてレビューが悪いようです。
- LINQ to SQL - オブジェクト指向のプラクティスを適切に処理できません。
- nHibernate - 良いオプションのようですが、古いエラーが多すぎると報告するユーザーもいます。
- SubSonic - 簡単な紹介からすると、柔軟性が高すぎるように思えます。私はそれを望んでいません。
何を提案しますか?
編集:
精巧な答えをありがとうクレイグ。カスタム フレームワークについて詳しく説明すると、さらに役立つと思います。似たようなものを探しています。カスタム フレームワークの仕組みは次のとおりです。
- これは DataSet に基づいているため、最初に DataSet を構成し、そこに必要なクエリを記述します。
- DataSet テーブルをオブジェクトにマップする方法を指定し、それらの間の関連付けも指定する XML 構成ファイルを作成します (すべての種類の関連付けをサポートします)。3. カスタム ツールが XML 構成を解析し、必要なコードを生成します。4.生成されたクラスは、共通の基本クラスから継承します。
フレームワークと互換性を持たせるには、データベースが次の基準を満たしている必要があります。
- 各テーブルには、主キーとして 1 つの列が必要です。
- すべてのテーブルには、クライアントで生成された同じデータ型の主キーが必要です。
- 継承を処理するために、単一テーブルの継承のみがサポートされています。また、XML ファイルは、ほとんどの場合、何かを達成するための単一の方法を提供します。
私たちが今サポートしたいのは:
- DataSet から依存関係を削除します。SQL コードは自動的に生成されますが、フレームワークはスキーマを生成しません。DB スキーマを手動で制御したい。
- 継承階層のより強力なサポート。
- オプションの LINQ との統合。
私が探しているものがより明確になったことを願っています。
nhibernate - NHibernate から集計結果を取得する最良の方法は何ですか?
たとえば、最小日付、最大日付、および合計をさまざまなインスタンスで取得しようとしています。これらの値を取得するために、SQL 文字列をハードコーディングしたり、IList をループしたりしないようにしています。
nhibernate - コードジェネレーターは悪いですか?
MyGeneration を nHibernate と共に使用して、基本的な POCO オブジェクトと XML マッピング ファイルを作成します。コード ジェネレーターは良い考えではないと考える人がいると聞いたことがあります。現在の最良の考え方は何ですか?何千行もの理解できないコードが生成されると、コード生成が悪いだけですか?