2
私はユーザとオーダーのリストを持っています。複数のIRepositoryの結果を取得する
public class UserRecord
{
public virtual int UserId { get; set; }
public virtual string Name { get; set; }
}
public class OrderRecord
{
public virtual int UserId { get; set; }
public virtual int OrderId { get; set; }
}
私はIRepositoryとIRepositoryという2つのリポジトリを持っています。どうすれば2つに参加して結果を取得できますか?
SELECT UserRecord.UserId、名前、UserRecord FROM OrderIdで 、OrderRecord UserRecord.UserId = OrderRecord.UserId
感謝。
ContentManagerを使用するには、ユーザーレコードと注文レコードの両方がコンテンツパーツでなければなりませんか? 2つのテーブル/コンテンツ部分を結合するためのHQLサンプルクエリはありますか? – user471317
HQLは、原則として、通常のnHibernateで実行できるクエリを有効にする必要があります。 ProjectorとHqlExpressionTest.csには例があります。 また、nHibernateセッションを直接取得し、そこから任意のHqlまたはSQLクエリを実行することもできます。 OrchardPoモジュールにその例があります。 –
私はISessionを使用しようとすると例外が発生します。 Autofac.Core.DependencyResolutionException:ポリシー 'Orchard.Environment.AutofacUtil.DynamicProxy2.ConstructorFinderWrapper'の型で見つからなかったコンストラクタはありません。 MyController 'は利用可能なサービスとパラメータで呼び出すことができます: コンストラクタ' Void .ctor(Orchard.Data.IRepository'1 [UserRecord]、Orchard.Data.IRepository'1 [OrderRecord]、NHibernate.ISession) 'のパラメータ解決に失敗しましたパラメータ 'NHibernate.ISession session'。 – user471317