問題タブ [nhibernate-3]
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# - NHibernate - カスケード削除が機能しない
MS SQL Server 2008 R2 で NHibernate 3.2 を使用しています
私は以下のマッピングを持っています
そして、これには LocalizedProperty への参照があります。
私の問題は、CommunicationType のエンティティを削除すると、NHibernate が LocalizedProperty の次の update-statement を実行していることです。
削除ステートメントの代わりに。
誰かが見て、何が悪いのですか?
c# - NHibernate、キーが2つの異なる列になる可能性があるコレクションをマップします
エンティティAがあります。
さらに、Aと2つの関連付けを持つエンティティBがあります。
AにはBのコレクションがあります。
関連するAの1つがロードされたAの親である 場合、このコレクションは任意のBをロードする必要があります。
問題は、 Aのコレクションマッピングが、2つのAアソシエーションの1つが親アソシエーションであるかどうかのチェックに基づいて子をフィルタリングする必要があることです。
どうすればそれを達成できますか?
注:順序は重要ではないため、bagを使用してマッピングを提案できます。
注2:XMLマッピングを使用してそれを実現する方法を提案してください。コードでは行いません。
更新:実際のシナリオ:
それはすべて友情の実装についてです。フレンドシップのコレクションをエンティティUserProfileにマップしたいと思います。友情には、関係を表す2つの関連付けがあります。OneUser、OtherUserです。すべての友達を取得したい場合は、両方のプロパティを確認する必要があります。両方のプロパティのいずれかが自分自身である場合、一方が私の友達だからです。
linq-to-nhibernate - Linq-to-Nhibernate では、where 句で .Contains を使用し、同じクエリで NHibernate.Linq.ToFuture() を使用できた人はいますか? (NH 3.x)
1 つのクエリで .Contains と ToFuture() メソッドを使用しようとすると、「指定されたキーが辞書に存在しませんでした」という「System.Collections.Generic.KeyNotFoundException」が常に発生します。
DBObject に一連のプロパティが含まれており、そのうちの 1 つが整数の「ID」であると想像してください。
誰でもこれを再現できますか?Linq-to-Nhibernate が ToFuture() を使用しながら、テスト リストの int に SQL IN 句を使用するようにする、contains() 以外の別の方法を知っている人はいますか?
スタックトレース:
d:\CSharp\NH\NH\nhibernate\src\NHibernate\Param\NamedParameterSpecification.cs: NHibernate.Param.ParametersBackTrackExtensions.ResetEffectiveExpectedType(IEnumerable`1 parameterSpecs, QueryParameters queryParameters) の 70 行目 d:\CSharp\NH\NH\nhibernate\src\NHibernate\Param\ParametersBackTrackExtensions.cs: NHibernate.Hql.Ast の 48 行目。 ANTLR.Loader.QueryLoader.ResetEffectiveExpectedType(IEnumerable`1 parameterSpecs, QueryParameters queryParameters) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Hql\Ast\ANTLR\Loader\QueryLoader.cs:line 428 at NHibernate.Loader .Loader.CreateSqlCommand(QueryParameters queryParameters, ISessionImplementor session) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Loader\Loader.cs:d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl\MultiQueryImpl の NHibernate.Impl.MultiQueryImpl.AggregateQueriesInformation() の行 1649 .cs: NHibernate.Impl.MultiQueryImpl.get_Parameters() の 641 行目 d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl\MultiQueryImpl.cs: NHibernate.Impl.MultiQueryImpl.CreateCombinedQueryParameters() の 774 行目d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl\MultiQueryImpl.cs:d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl の NHibernate.Impl.MultiQueryImpl.List() の 754 行目\MultiQueryImpl.cs: NHibernate.Impl.FutureQueryBatch.GetResultsFrom(IMultiQuery multiApproach) の 400 行目 d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl\FutureQueryBatch.cs: NHibernate.Impl.FutureBatch の 24 行目2.d の GetResults():\CSharp\NH\NH\nhibernate\src\NHibernate\Impl\FutureBatch.cs:d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl の NHibernate.Impl.FutureBatch`2.get_Results() の 73 行目\FutureBatch.cs: NHibernate.Impl.FutureBatch`2.GetCurrentResult[TResult](Int32 currentIndex) の 29 行目 d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl\FutureBatch.cs: NHibernate の 79 行目.Impl.FutureBatch`2.c__DisplayClass4`1.b__3() in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl\FutureBatch.cs: NHibernate.Impl.DelayedEnumerator`1.d__0.MoveNext の 63 行目() in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl\DelayedEnumerator.cs:line 26 at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq. C の TestProject1.UnitTest1.TestMethod1() での Enumerable.ToList[TSource](IEnumerable`1 ソース):\checkout\Library Projects\BaseSystemCore\TestProject1\UnitTest1.cs:94行目
c# - Linq-To-Nhibernate(NH3.2)を使用して、レコード自体なしでクエリのレコード数をデータベースに返すにはどうすればよいですか?
実行するクエリがたくさんあり、そのうちの1つでも結果が1つでも返される場合は、ブール変数trueを切り替えます。それらがすべて結果を返さない場合、それはfalseのままです。
今は、最小の列を選択して.Select()を実行し、結果をローカルでカウントしています。しかし、データベースにlinq-to-nhibernateを介してクエリのレコード数を表す単一の整数を返送させる方法はありますか?
ありがとう!
c# - 動作しない場所でisnull()を使用したNHibernate HQL
NHibernateで休眠中のHQL-Queryを使用します。
このクエリでは、NHibernateは:val(文字列)をdoubleに変換しようとします。z.Streetとz.PostalCodeは、nullになる可能性のある文字列フィールドです。NHibernateにwhere句の最初のisnull()に問題があるようです。私が使用するとき、z.Street+isnull(z.PostalCode,'')
それは働いています。私も試しcast(isnull(z.Street,'')+isnull(z.PostalCode,'') as string)
ましたが、NHibernateにキャスト関数に問題があるため(2つ以上のパラメーターが生成されるため)、これも機能しません。誰かが私を助けてくれますか、NHibernateでこれをどのように解決できますか?-おそらく、where-conditionを記述する別の方法がありますか?
NHibernate3.2を使用しています
nhibernate - NHibernate3.2コードによる多対多のマッピング
私は学ぼうとしていますNHibernate 3.2 built-in mapping by code api
(FluentNHibernateでもxmlでもありません)。これらのエンティティ間の多対多の関係をマッピングするのを手伝ってもらえますか?
私の主な戦略は次のとおりです。
そして私はこれを試します:
しかし、それは機能しません。
nhibernate - NHibernate3.2コードと継承による任意のマッピングへの多く
次のようにドメインをマッピングしようとすると、多対任意のマッピングと継承の競合が発生します。
継承を次のようにマップします。
IssuedToken
ここで、 (多くの)関係と(任意の)関係をマップしたいのですがMember
、その方法がわかりません。関係を理解してマッピングするのを手伝ってもらえますか?
注:NHibernate 3.2
コードによるマッピングを使用しています-NHibernateFluentAPIでもXMLでもありません。
lambda - NHibernate 3.2 で複数のオブジェクトを削除する
私Repository
には次のような方法があります:
しかし、この方法はパフォーマンスが良くないようです! オブジェクトのリストを (述語によって) 削除するための提案はありますNHibernate 3.2
か?
.net - 新しいオブジェクトを参照する既存のオブジェクトをマージします
データベースからContact-objektをロードします。オブジェクト連絡先には、ContactSecurityへの1対多のマッピングがあります。
今、私はしようとします:
しかし、これはTransientObjectExcpeptionをスローしています'オブジェクトは保存されていない一時的なインスタンスです-マージする前に一時的なインスタンスを保存してください:Prayon.Entities.ContactSecurity'
私も試しました
私が間違っていることは何ですか?-連絡先をマージする前に、参照された連絡先を持つ新しいContactSecurity-Objectを追加保存する必要がありますか?-または、これを行うためのより簡単な方法はありますか?
助けてくれてありがとう。
nhibernate - LINQ-to-NHibernate:FetchMany で Linq Skip() と Take() を使用できない
私はこれらのエンティティを持っています:
とコメント数でBlogPost
のページリストをロードしたい。Keyword
だから私はこれを試します:
しかし、次のエラーが発生します。
指定された方法はサポートされていません。
そして、私が削除すると、.Skip((pageNumber - 1) * pageSize).Take(pageSize)
それは機能します!例えば
sを含めて行数を取得するアイデアはありますKeyword
か? 提案をありがとう。
を使用してNHibernate 3.2 mapping by code
います。