1

LINQに少し問題があります

「リソース」のEntityCollectionがあります各「リソース」には「アプリケーション」のEntityCollectionがあります

特定の「アプリケーション」の「Rresources」を見つける必要があります。

最初に指定されたアプリケーションを見つけます。

Application application = (from app in db.ApplicationSet
                           where app.Id == appId
                           select app).First();

これにより、「アプリケーション」が得られます

次に、この「アプリケーション」のアプリケーションを見つけようとします。

var res = from rs in db.ResourceSet
          where rs.Applications.Contains(application)
          select rs;

これはVSで受け入れられますが、実行すると「結果ビュー」が返されます

"System.SystemException = {"型 'Application_Configuration_Management.Models.Application' の定数値を作成できません。このコンテキストでは、プリミティブ型 ('Int32、String、および Guid' など) のみがサポートされています。"}"

誰でも私を助けることができますか?

4

1 に答える 1

2

LINQ2SQL または EF プロバイダーapplicationは、リストのコンテキストでを使用するクエリを変換できないと不平を言っていますIN。アプリケーションの検索とそれに続くリソースの 1 つの検索を、アプリケーション ID によるリソースの 1 回の検索に置き換えると、状況によってはより適切に機能する場合があります。

var res = from rs in db.ResourceSet
    where rs.Applications.Any(a => a.Id == appId)
    select rs;
于 2012-08-28T12:57:29.433 に答える