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

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

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

No.90525 の関連記事表示

<< 0 >>
■90525  Re[2]: EFのPOCOでテーブルを作ってほしくない
□投稿者/ あみい -(2019/03/18(Mon) 11:06:41)
    WebSurferさん、まずは返信ありがとうございます。

    > 「訳のわからないコード」とは何でしょう? T4 テンプレート(.tt ファイル)のことですか?
    そのとおりです。

    昔、型付データセットで痛い目に会って以来、VisualStudioのポトリペタンを使いたくありません。
    (重い、遅い、メンテしにくいの3拍子でした)

    > スキャフォールディング機能
    > http://surferonwww.info/BlogEngine/post/2017/07/23/creating-controller-and-view-in-mvc-using-scaffolding-function.aspx

    ありがとうございます。参考にします。

    > そのほうが自力でコードを書いて訳の分からないエラーで悩むよりよさそうに思うのですが。

    そもそもなのですが、コードファーストでも、いったんテーブルが作成されれば、スキーマが変わらない限り
    スキーマの変更更新に行かないはずだと思うわけです。
    (でないと、安定しているはずのテーブルに毎回スキーマ変更命令が走るということになるので)

    POCOにスキーマを変更するような修正を加えれば、それに合わせてスキーマ変更が発生するのは理解できます。
    (調べたところ、このケースでどのように振る舞うかのオプションもありました)

    今回、私が疑問に思っているケースでは、スキーマの変更は発生しません。
    ただ、.ToList()や.Where()したいだけです。
    にも関わらず、スキーマ変更っぽい動きをするのが、どうにも納得いかないわけです。

    > どうしてもということでしたら、以下の記事にある「3. Reverse Engineer Model」の方法でコードを
    > 自動生成することを試してみてはいかがですか?
    >
    > Code First to an Existing Database
    > https://docs.microsoft.com/ja-jp/ef/ef6/modeling/code-first/workflows/existing-database

    こちらの参照してみます。ありがとうございます。

    引き続き、有識者の方のご意見をお待ちしております。
    要点は、
    ・コードファーストにおいて、POCOを変更してスキーマ変更処理が走るのは当然。
    ・逆に言えば、コードファーストといえど、POCOに変更がなければスキーマを変更しに行かないはず

    というところです。
    コードの自動生成の話は、私にとってはニの次です。
記事No.90438 のレス /過去ログ156より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -