[過去ログ]
【本命】Blazor スレ1【真打】 (1002レス)
【本命】Blazor スレ1【真打】 http://mevius.5ch.net/test/read.cgi/tech/1595255796/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
700: デフォルトの名無しさん [sage] 2020/11/08(日) 12:42:48.71 ID:QCCK7Xg4 >>699 postgresqlは特殊な仕様だからハマりやすいね なのでNpgsqlのEFにはUseSnakeCaseNamingConventionというオプションがある 他のDBは特にハマった記憶がない http://mevius.5ch.net/test/read.cgi/tech/1595255796/700
704: デフォルトの名無しさん [sage] 2020/11/08(日) 13:08:46.91 ID:QCCK7Xg4 >>701 最近のEFは良くなってる ほぼ想像どおりのスキーマを出力してくれる とはいえ完璧とも言えない 完璧を求めるならMigrationを生SQLで手書きすることもできる SQLを手書きしたいという要求のためにMigrationの全機能を手放すのは惜しい http://mevius.5ch.net/test/read.cgi/tech/1595255796/704
706: デフォルトの名無しさん [sage] 2020/11/08(日) 13:15:04.98 ID:QCCK7Xg4 >>703 いやいやスキーマを変更したあとにテストじゃ遅いだろ Migrationをしてからテストするんじゃない テスト済のMigrationを適用するんだ ちなみにMigrationはアプリケーションをデプロイするだけなので手順ミスは最小化される 手作業でSQLを実行するとSQL数に比例してミスが増える http://mevius.5ch.net/test/read.cgi/tech/1595255796/706
709: デフォルトの名無しさん [sage] 2020/11/08(日) 13:33:40.14 ID:QCCK7Xg4 >>707 EFモデルファーストは文字列の長さなど細かいコントロールも当然可能だ より詳細な調整をしたい場合はMigrationを手書きしてMigrationBuilderに生えてるDDLラッパーを呼び出せば良い DDLラッパーはCreateTableメソッド、DropTableメソッドなど.NETのメソッドではあるがDLLを書くのと非常に近い感覚で使うことができる これはラッパーなので複数ベンダに対応することができる 代わりに最大公約数的な機能に制限されるが十分な機能揃っている 完全にMigrationをコントロールしたい場合には生のSQLを書いてもいい EFはもちろん生のSQLもサポートしている 原始時代や産業革命時代に行っていたような作業はすべてEFでできる ただし生のSQLを使うとベンダ依存が発生するのでそこはトレードオフだ 更に加えてMigrationとして.NETのカスタムコードを実行することが可能だ 例えば今まで保護されていなかった個人情報をC#で暗号化して保存し直すといったことも可能だ 手作業でSQLを実行する http://mevius.5ch.net/test/read.cgi/tech/1595255796/709
710: デフォルトの名無しさん [sage] 2020/11/08(日) 13:34:04.97 ID:QCCK7Xg4 手作業でSQLを実行するだけではこのような複雑なMigrationには対応できない http://mevius.5ch.net/test/read.cgi/tech/1595255796/710
711: デフォルトの名無しさん [sage] 2020/11/08(日) 13:38:33.92 ID:QCCK7Xg4 >>708 決定事項だろうがなんだろうがテストは必要だ これからDBに対して行う変更を事前にテストする テスト済の変更を確実にミスなく適用する これを実行するための最もスマートな方法がMigrationだ 先程も書いたがこれをオレオレshellで代用することはできる しかしそれは洗練された手法ではない 産業革命時代のやり方でしかない もちろん適用したあとに最終チェックとしてテストを行うことはこちらとしても全く否定していない http://mevius.5ch.net/test/read.cgi/tech/1595255796/711
713: デフォルトの名無しさん [sage] 2020/11/08(日) 13:47:17.26 ID:QCCK7Xg4 なおMigrationとその後のテストのどちらかが失敗した場合は 途中まで適用したMigrationをロールバックしなければならない ロールバックはEFの機能で行うかDBバックアップをリストアするかどちらかだが EFの機能で実施したほうが圧倒的に速い リストアは最後の手段と考えよう バグを放置してアプリケーションコードを修整するなどもってのほかである これはサービスの停止時間を悪戯に伸ばすだけで損失を増やすばかりでなんの利益も産まない バグがあったらロールバックを行い Migrationとアプリケーション双方を見直し修整しテストする テストした後にまたMigrationを適用する これが現代人の働き方だ http://mevius.5ch.net/test/read.cgi/tech/1595255796/713
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s