0

私の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データベースを使用して開発しています。

4

1 に答える 1

1

それらを手動で接続する必要があります。あなたがそれについてできることは何もありません。EFのビューのサポートはさらに悪いため、EFを使用していないことに感謝してください。null以外のフィールドは、複合主キーの一部であると想定しています。

于 2012-06-25T23:47:32.547 に答える