ASP.NET4.0でEntityFrameworkを使用しています。これは単純な問題で、ユーザーがすでにインストールしているすべてのガジェットの[インストール]ボタンを非表示にする必要があります。データバインディングとUIの生成にリピーターを使用しています。
データベーススキーマは以下の通りです
Apps
----------
AppId
Appname
Description
ユーザー用にインストールされたアプリケーションは、以下の表に追加されます
InstalledApps
------------
Rid
UserId
AppId
したがって、エンティティはこのようになります
Users
Apps
InstalledApps
以下のSQLと同等のエンティティフレームワークが必要です
SELECT AppId,AppName,Description FROM Apps WHERE Apps.AppId NOT IN (SELECT AppId FROM InstalledApps WHERE UserId = 1)
注:同じ結果が得られるより単純なクエリがある場合は、知りたいと思います。これは私の頭から飛び出しました