タグ付けされた質問 「nhibernate」

NHibernateは、.NETフレームワーク用のオープンソースのオブジェクトリレーショナルマッパー(ORM)です。

5
Hi / Loアルゴリズムとは何ですか?
Hi / Loアルゴリズムとは何ですか? これはNHibernateのドキュメントで見つかりました(一意のキーを生成する1つの方法、セクション5.1.4.2です)が、それがどのように機能するかについての適切な説明は見つかりませんでした。 私はNhibernateがそれを処理することを知っており、内部を知る必要はありませんが、興味があるだけです。


4
NHibernate ISession Flush:いつ、どこで、なぜ使用するのですか?
私は徹底的に混乱ことの一つは、の使用であるsession.Flushと併せて、session.Commitとsession.Close。 時々session.Close機能します。たとえば、必要なすべての変更をコミットします。エラーが発生した場合にロールバックするように選択できるように、トランザクション、または複数の作成/更新/削除を伴う作業単位がある場合は、コミットを使用する必要があることを知っています。 しかし、時々私は本当に背後にあるロジックに困惑しsession.Flushます。私はあなたがsession.SaveOrUpdate()続いてフラッシュを持っている例を見ました、しかし私がフラッシュを取り除くとき、それはとにかくうまく働きます。Flushステートメントでセッションがタイムアウトしたことを示すエラーが発生することがあり、それを削除することで、そのエラーに遭遇しないようにしました。 誰かがフラッシュをどこでいつ使用するかについて良いガイドラインはありますか?これについてNHibernateのドキュメントをチェックアウトしましたが、それでも簡単な答えは見つかりません。

16
NHibernate.MappingException:持続性なし:XYZ
さて、あなたが言う前に:私は Google をやった、そして私のhbm.xmlファイルは埋め込みリソースである。 これが私が呼んでいるコードです: ISession session = GetCurrentSession(); var returnObject = session.Get<T>(Id); これがクラスのマッピングファイルです。 <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <class name="HQData.Objects.SubCategory, HQData" table="SubCategory" lazy="true"> <id name="ID" column="ID" unsaved-value="0"> <generator class="identity" /> </id> <property name="Name" column="Name" /> <property name="NumberOfBuckets" column="NumberOfBuckets" /> <property name="SearchCriteriaOne" column="SearchCriteriaOne" /> <bag name="_Businesses" cascade="all"> <key column="SubCategoryId"/> <one-to-many …
134 c#  .net  nhibernate 

9
NHibernateとLINQ to SQL
実際のプロジェクトでどちらのテクノロジーも使用したことがない人として、これら2つがどのように互いに補完し合い、それらの機能がどの程度重複しているかを誰かが知っているだろうか?

10
Entity Framework 4対NHibernate [終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 この質問を改善する Entity Frameworkの最初のバージョンがWebでも(stackoverflowでも)話題になっていますが、NHibernateのようなより良い代替案がすでにある場合は、それが適切な選択肢ではなかったことは明らかです。しかし、Entity Framework 4とNHibernateの良い比較を見つけることができません。今日、NHibernateはすべての.NET ORMのリーダーであると言えますが、Entity Framework 4がこの位置からNHibernateを置き換えることが期待できます。MicrosoftがEF4に非常に優れた機能を実際に注入した場合、Visual Studioとの統合があり、扱いやすく、ほとんどのショップで常にMS製品が優先されるため、NHibernateに良い競争をもたらすことができると思います。

1
Moq:オーバーライドできないメンバーの無効なセットアップ:x => x.GetByTitle(“ asdf”)
これを修正する方法がわからない、メソッド「GetByTitle」で単体テストを実行しようとしています これが私の定義です: public class ArticleDAO : GenericNHibernateDAO(IArticle, int>, IArticleDAO { public IArticle GetByTitle(string title) { IQuery query = Session.CreateQuery("...") return query.UniqueResult<IArticle>(); } } public interface IArticleDAO { IArticle GetByTitle(string title); } 単体テスト: [Test] public void can_load_by_title() { _mockDaoFactory.Setup(x => x.GetArticleDao()) .Returns(_mockArticleDao.Object); _mockArticleDao.Setup(x => x.GetByTitle("some title")) .Returns(article1.Object); _articleManager.LoadArticle("some title"); Assert.IsNotNull(_articleManager.Article); } …
111 c#  nhibernate  nunit  resharper  moq 



20
ORMを使用しない正当な理由はありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 見習い期間中、NHibernateを使用して、主に自分でコーディングおよび設計したいくつかの小さなプロジェクトを使用しました。さて、いくつかのより大きなプロジェクトを始める前に、データアクセスを設計する方法とORMレイヤーを使用するかどうかについての議論が生じました。私はまだ実習生であり、自分自身をエンタープライズプログラミングの初心者と見なしているため、データベースにオブジェクトリレーショナルマッパーを使用すると、開発を大幅に容易にできるという私の考えを実際に押し付けようとはしませんでした。開発チームの他のコーダーは私よりもはるかに経験が豊富なので、私は彼らが言うことだけをやると思います。:-) ただし、NHibernateまたは同様のプロジェクトを使用しない2つの主な理由を完全には理解していません。 SQLクエリを使用して自分のデータアクセスオブジェクトを作成し、それらのクエリをMicrosoft SQL Server Management Studioからコピーするだけです。 ORMのデバッグは難しい場合があります。 したがって、もちろん、多数のSELECTsなどを使用してデータアクセスレイヤーを構築することもできますが、ここでは、自動結合、遅延読み込みプロキシクラス、およびテーブルが新しい列を取得するか列が名前が変更されました。(多数のSELECT、INSERTおよびUPDATEクエリの更新と、マッピング構成の更新、およびおそらくビジネスクラスとDTOのリファクタリング)。 また、フレームワークをよく知らない場合、NHibernateを使用して予期しない問題が発生する可能性があります。たとえば、文字列の長さが自動的に検証されるように設定したTable.hbm.xmlを信頼する場合などです。ただし、「単純な」SqlConnectionクエリベースのデータアクセスレイヤーに同様のバグがあることも想像できます。 最後に、上記の議論は、重要なデータベースベースのエンタープライズアプリケーションにORMを利用しないことの本当に正当な理由ですか?彼ら/私が逃したかもしれない他の議論はおそらくありますか? (これは、チームワークを必要とする最初の「大きな」.NET / C#ベースのアプリケーションのようなものだと思うことを追加する必要があります。ユニットテストや継続的な統合など、スタックオーバーフローではかなり正常と見なされる良い習慣はありません。 -ここまで存在します。)
107 c#  nhibernate  orm  enterprise 

2
TransactionScopeはどのようにトランザクションをロールバックしますか?
複数のオブジェクトをデータベースに挿入する統合テストを作成していて、メソッドがそれらのオブジェクトを取得するかどうかを確認しています。 データベースへの接続はNHibernateを介して行われます。そのようなテストを作成するための通常の方法は次のようにすることです。 NHibernateSession.BeginTransaction(); //use nhibernate to insert objects into database //retrieve objects via my method //verify actual objects returned are the same as those inserted NHibernateSession.RollbackTransaction(); しかし、最近この目的に使用できると思われるTransactionScopeについて最近知りました... 私が見つけたいくつかのサンプルコードは次のとおりです: public static int AddDepartmentWithEmployees(Department dept) { int res = 0; DepartmentAdapter deptAdapter = new DepartmentAdapter(); EmployeeAdapter empAdapter = new EmployeeAdapter(); using (TransactionScope …

4
IListまたはIEnumerableを配列に変換する最良の方法
結果のIListまたは結果のIEnumerableのいずれかを生成できるHQLクエリがあります。 しかし、私が選択しているエンティティの配列を返すようにしたいのですが、それを達成するための最良の方法は何でしょうか?列挙して配列を作成するか、定義済みの配列をCopyTo()で使用することができます。 もっと良い方法はありますか?私はCopyToアプローチを採用しました。
98 c#  nhibernate 

2
基準SpatialRestrictions.IsWithinDistance NHibernate.Spatial
誰かがこれを実装しましたか、またはこれを実装することが困難であるかどうか/ポインタを持っているかどうかを知っていますか? public static SpatialRelationCriterion IsWithinDistance(string propertyName, object anotherGeometry, double distance) { // TODO: Implement throw new NotImplementedException(); } NHibernate.Spatial.Criterion.SpatialRestrictionsから hqlで「where NHSP.Distance(PROPERTY、:point)」を使用できます。しかし、このクエリを既存のCriteriaクエリと組み合わせたいと思います。 当面は、ラフポリゴンを作成し、 criteria.Add(SpatialRestrictions.Intersects("PROPERTY", myPolygon)); 編集 SpatialRelationCriterionのコンストラクターをオーバーロードして新しいSpatialRelation.Distanceを追加することで機能するプロトタイプを取得しました public static SpatialRelationCriterion IsWithinDistance(string propertyName, object anotherGeometry, double distance) { return new SpatialRelationCriterion(propertyName, SpatialRelation.Distance, anotherGeometry, distance); } SpatialRelationCriterionに新しいフィールドを追加しました private readonly double? distance; public SpatialRelationCriterion(string …

3
NHibernateの逆属性
逆属性を使用するにはどうすればよいですか?私が間違っていない場合、1対多の関係では、inverse属性をtrueに設定する必要があります。多対多の関係では、エンティティクラスの反転属性の1つをtrueに設定し、もう1つをfalseに設定する必要があります。 誰でもこれにいくつかの光を当てることができますか?

7
流暢なNHibernateで列挙型をint値としてどのようにマッピングしますか?
質問は本当にすべてを言います、デフォルトはそれがaとしてマップすることですがstring、私はとしてマップする必要がありintます。 私は現在PersistenceModel、それが何らかの違いを生む場合、私の慣習を設定するために使用しています。前もって感謝します。 更新 トランクから最新バージョンのコードにアクセスすると、私の問題が解決したことがわかりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.