LoginSignup
7
9

More than 5 years have passed since last update.

Entity Frameworkでデータベースファーストで開発する

Posted at

久しぶりにやったら、どうやってたのか思い出せないのでメモ。

Entity FrameworkのEntity Data Modelを新規で追加する

使いたいデータベースを元にData Modelを作る。

EDMXファイルを開いて、プロパティ「スキーマ」の「新しいオブジェクトの複数化」を有効(True)にする

好みに合わせてやりましょう。上記の方法で作るとデフォルトではFalseです。
でも、複数化したほうが.NETぽいし、気持ち悪くなくてよくね?

単数形.cs
db.TableName.Select(x => x.ID);
複数形.cs
db.TableNames.Select(x => x.ID);

DBのテーブルをすべてUpperCamelCaseになおす

なってないとC#のコードが気持ち悪いことになるので全部を手動で修正。

snake_case.cs
db.table_name.Select(x => x.full_name);
CamelCase.cs
db.TableNames.Select(x => x.FullName);

このとき、エンティティセット名が複数形のUpperCamelCaseになってるかをチェックする

DBから生成した場合、自動で変わらないことがあるのでここも手動でやります。

エンティティセット名がC#からDBを参照するときの名前になる

ダイアグラムにテーブル名として表示されている名前ではないので注意。
ダイアグラムにテーブル名として表示されている名前は、テーブルのクラスを表す。


これで、MySQL WorkBenchとかでDB設計しても、気持ちよくLINQが書けそうな気がする。

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9