2009-04-17 3 views
1

アプリケーションのADO.NET Data Servicesでクエリインターセプタを使用して、エンティティは、ユーザがアクセスしたデータに基づいています。私は、クエリインターセプターの1からスローされ、次の例外を取得していますが :クエリインターセプタスロー:エンティティセットのクエリマッピングビューに含まれていないエンティティコンストラクタに対して関連エンティティを指定することはできません

内部の.NET Frameworkデータプロバイダーエラー1004、0を、関連するエンティティは、クエリマッピングの一部ではないエンティティのコンストラクタに指定することはできませんエンティティセットのビュー..

この例外がスローされる時期は/いつですか?

私は私のURLで、次のフィルタ基準を使用しています。この記事にいくつかのコンテキストを追加するには:

:クエリインターセプターがある

$フィルタ=(OnlineItems /製品/商品コードEQ 856)

 [QueryInterceptor("OnlineItems")] 
     public Expression<Func<OnlineItems, bool>> QueryOnlineItems() 
     { 
      return item => (item.Products.Any(p => p.Price > 10)); 
     } 

暗闇の中で刺すと、製品のフィルタリングと製品の拡大の組み合わせになると思いますが、どのようにして全体が落ちるのかわかりません。この作品何らかの理由

答えて

1

:これは「任意」の場合に動作していないだろう、なぜ

[QueryInterceptor("OnlineItems")] 
public Expression<Func<OnlineItems, bool>> QueryOnlineItems() 
{ 
    return item => (item.Products.Count(p => p.Price > 10) > 0); 
} 

誰でも知っていますか?

0

EF CTP5にはまだこのバグがあります。 はとにかく簡単な作業は今

[QueryInterceptor("OnlineItems")] 
public Expression<Func<OnlineItems, bool>> QueryOnlineItems() 
{ 
    return item => item.Products.FirstOrDefault(p => p.Price > 10) != null; 
} 

の周りがあり、ここで詳細を参照してください。http://social.msdn.microsoft.com/Forums/en/adodotnetdataservices/thread/b5c49e69-3b5f-4606-8b40-4025dc8e5cb1?prof=required

は、Countが()賢明な総ごみ性能であることに注意してください!

関連する問題