私のSQLServerデータベースには、いくつかのテーブルの基本的にフィルタリングされた(WHERE)/順序付けられた(ORDER BY)バージョン、つまり結合がないいくつかのビューが含まれています。
例としては、DownloadsOnlineOnlyなどのビューを持つダウンロードテーブルがあります。
SELECT * FROM Downloads WHERE Live = 1 ORDER BY FolderName ASC;
これらのビューをLINQtoSQL DataContextにドラッグアンドドロップし、LINQを使用してこれらのビューをクエリし、データを正常に取得できます...
しかし、外部キーの関係が私のDataContextで取得されていないため、次の機能が失われました。
Dim dl as DownloadOnlineOnly = (From r in db.DownloadOnlineOnlies Select r).First
Dim fol as Folder = dl.Folder ' Syntax error as there is no association between
' DownloadOnlineOnly and Folder in my DataContext.
なぜこれが起こっているのか理解していますが、どうすればこれを回避できますか?
- DataContextに手動で関連付けを追加せずに?
- DataContextのSPの戻りタイプを変更するように、エンティティのタイプを変更できますか?
- DownloadOnlineOnlyオブジェクトとDownloadオブジェクトの間でキャストまたは変換できますか?
- または他の方法?
これが些細な問題である場合は、お詫び申し上げます。LINQは比較的新しいです。
PS私はSQLServer2008R2データベースを使用して開発しています。