C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.89160 の関連記事表示

<< 0 >>
■89160   データベースファーストでEntityFramework
□投稿者/ 青い子ブタ -(2018/11/02(Fri) 15:19:36)

    分類:[.NET 全般] 

    ASP.NET MVC 5
    VisualStudio2017
    Fw 4.6.2
    C#


    データベースファーストでEntityFrameworkを使用しています。

    データベースに以下のようなテーブルがあるとします。
    ■Personテーブル
    ・PersonId(主キー)
    ・ClassId
    ・Name

    ■Classテーブル
    ・AppId(主キー)
    ・ClassId(主キー)
    ・Name

    上記のテーブルからデータを取得したいと思っています。
    SQLで書くと以下のようになります
    SELECT
    P.PersonId, P.ClassId, C.Name
    FROM Person P
    LEFT JOIN Class C
    ON P.ClassId = C.ClassId
    AND C.AppId = 1 <--画面の選択値により値は変わる。


    エンティティモデルデザイナで
    データベースの上記のテーブルからモデルを作成し
    アソシエーションを追加しようとすると
    ClassテーブルのAppIdと関連付けるものがなく、アソシエーションを追加できません。

    上記のような場合、とのようにアソシエーションを追加すればよいでしょうか?
親記事 /過去ログ153より / 関連記事表示
削除チェック/

■89162  Re[1]: データベースファーストでEntityFramework
□投稿者/ WebSurfer -(2018/11/02(Fri) 16:08:12)
    No89160 (青い子ブタ さん) に返信

    DB サーバーは何ですか? LocalDB? SQL Server? そのバージョンは?
    テーブル間に外部キーが設定してありますか? そして、ナビゲーションプロパティはどのように生成されてますか?
記事No.89160 のレス /過去ログ153より / 関連記事表示
削除チェック/

■89164  Re[2]: データベースファーストでEntityFramework
□投稿者/ 青い子ブタ -(2018/11/02(Fri) 16:26:42)
    No89162 (WebSurfer さん) に返信
    > ■No89160 (青い子ブタ さん) に返信
    >
    > DB サーバーは何ですか? LocalDB? SQL Server? そのバージョンは?
    > テーブル間に外部キーが設定してありますか? そして、ナビゲーションプロパティはどのように生成されてますか?


    DBはOracleです。
    テーブル間に外部キーは設定されていません。

    アソシエーションは手動で張っています。
記事No.89160 のレス /過去ログ153より / 関連記事表示
削除チェック/

■89166  Re[3]: データベースファーストでEntityFramework
□投稿者/ WebSurfer -(2018/11/02(Fri) 17:09:34)
    No89164 (青い子ブタ さん) に返信

    > DBはOracleです。
    > テーブル間に外部キーは設定されていません。

    Oracle は触ったこともないので分かりませんが・・・

    LocalDB や SQL Server の場合と同様に Visual Studio のウィザードを使って生成した
    EDM から List<T> 型のオブジェクトを作れるのであれば、以下の記事を参考に左外部結
    合した結果が得られると思います。

    左外部結合の実行
    https://docs.microsoft.com/ja-jp/dotnet/csharp/linq/perform-left-outer-joins

    (外部キーが張ってあってナビゲーションプロパティが生成されていれば別の方法がありま
    す。今回のケースでは関係ないですが)
記事No.89160 のレス /過去ログ153より / 関連記事表示
削除チェック/

■89190  Re[3]: データベースファーストでEntityFramework
□投稿者/ WebSurfer -(2018/11/06(Tue) 10:46:56)
    No89164 (青い子ブタ さん) に返信

    No89166 の私のレスに対するフィードバックは返せませんか?

    たとえ「何を言ってるか分からん、役に立たん」というフィードバックでも
    無言に比べれば∞倍マシだと自分は思うのですが。
記事No.89160 のレス /過去ログ153より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -