2012-05-04 6 views
3

私はProductPartコンテンツパートがあるオーチャード1.4で働いています。IsFeaturedブールフィールドがあります。 Orchard 1.4のProjection moduleによるProductPartの照会は簡単です。オーチャードCMSのフィールドで質問するContentPart

私は ProductServiceを書き、そして ProductPart IsFeaturedフィールドを照会したいしたい

は次のように真である:

contentManager.Query<ProductPart,ProductRecord>().Where(x=>x.IsFeatured).ToList() 

はどのようにこれを取得するには?

答えて

1

はあなたがすることはできません(使用Orchard.ContentManagementを持つようにしてください)ジェネリック医薬品と

var products = contentManager.Query<ProductPart, ProductPartRecord>().Where(x => x.IsFeatured).ToList() 
+0

IsFeaturedブールフィールドです:

ContentDefinitionManager.AlterPartDefinition(typeof(ProductPart).Name, p => p.WithField("IsFeatured", f => f.OfType(typeof(BooleanField).Name))


=> IsFeatured ProductRecordをのプロパティではありません=>私たちはそのようで照会することはできません。
他の提案はありますか? –

+0

これは本当に役に立ちました、ありがとう!バートランド・ロイ・ロイは私に、検索モジュールを活用するためにと教えていますが、コードでそれを行う方法については何かを見つけてください。何か案が? –

3

をQueryメソッドを使用します。フィールドが格納される方法は、この方法でそれらが照会されるのを防ぎます。あなたはIProjectionManagerを注入して、あなたのサービスでプロジェクターのクエリを使うことができます。または、FeaturedProductパーツを作成し、ContetManagerを使用してそれを照会します。

+0

詳細を表示できますか? –

+0

どのアプローチですか? –

+0

'IProjectionManager'のアプローチは、今日私に役立っていたでしょう。ポインタありがとうございますが、そのクラスのWeb上での結果は2つしかないようです。 – rtpHarry

関連する問題