.netのEntityFrameworkでDBからスキャフォールディングで定義を取り込んだ場合に、char(36)の列がstringではなく、guidになってしまう場合の対処法について。
目次
TL;DR
スキャフォールディングを行う接続文字列に、以下のオプションを追加しましょう。
guidformat=none
接続文字列の全体イメージ
全体だとこんな感じです。
dotnet ef dbcontext scaffold "server=[サーバ名];port=[ポート番号];database=[データベース名];uid=[ユーザ名];pwd=[パスワード];guidformat=none"
char(36)以外にも効果あり
私のケースではchar(36)が該当しましたが、それ以外にもguidになるパターンはあるようです。
その場合にも同様の対処法でstring型へ変換されるようになります。
最後に
あまり日本語での記事が存在せず、実際の接続文字列の例がなかったので。
簡単な記事ですが、お困りの方のお役に立てれば幸いです。
今日も一隅を照らすことができますように。それではまた。