teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/11/02 01:25

投稿

退会済みユーザー
answer CHANGED
@@ -48,4 +48,44 @@
48
48
 
49
49
  > MVCモデルの形で一連の流れを理解するために、スキャフォールディング等を利用せずにデータベースからデータを取得、表示をしようとしています。
50
50
 
51
- Visual Studio の機能を利用しないでアプリを作るのは時間と労力の無駄です。理解したいなら、Visual Studio が作ったコードを見て理解するようにすべきです。
51
+ Visual Studio の機能を利用しないでアプリを作るのは時間と労力の無駄です。理解したいなら、Visual Studio が作ったコードを見て理解するようにすべきです。
52
+
53
+ **【追記】**
54
+
55
+ 下の 2020/11/02 09:59 の私のコメントで「後で回答欄に自分のプロジェクトの画像を貼っておきます」と言った件です。
56
+
57
+ 質問者さんの場合は余計なものが入っています(その影響は分かりませんが)。バージョンも不明、設定も不明ですが、プロパティを見て比べてみてください。
58
+
59
+ **MySql.Data**
60
+
61
+ ![イメージ説明](3306c7ee6f33a96883113036cbc2a40d.jpeg)
62
+
63
+ **MySql.Data.EntityFramework**
64
+
65
+ ![イメージ説明](3aa323a3ee89960d66d31baa25894bd6.jpeg)
66
+
67
+ なお、自分の環境は MySQL とか Oracle などは入ってない Windows 10 Pro 64-bit の PC に、以下の記事のように MySQL 8.0.19 をインストールしています。
68
+
69
+ MySQL をインストールしました(その 3)
70
+ [http://surferonwww.info/BlogEngine/post/2020/04/20/installation-of-mysql-on-new-desktop-pc.aspx](http://surferonwww.info/BlogEngine/post/2020/04/20/installation-of-mysql-on-new-desktop-pc.aspx)
71
+
72
+ そうすると、MySql.Data, MySql.Data.EntityFramework は GAC にインストールされ、レジストリ, Program Files フォルダ, machine.config にも設定がなされます。
73
+
74
+ また、Visual Studio の拡張機能には MySQL for Visual Studio がインストールされます。
75
+
76
+ ![イメージ説明](250633eda3e7351dce3c5d4d78467b51.jpeg)
77
+
78
+ そうすると、2020/10/30 17:43 のコメントで紹介した記事の「(2) 参照設定」のセクションのように参照を追加できるようになり。ADO.NET Entity Data Model を使って、上に紹介した記事の (1) ~ (10) のように EDM を生成できるはずです。
79
+
80
+ 以上を読んでも解決できないということですと、ADO.NET Entity Data Model を使っての EDM の作成に関しては、自分はこれ以上お手伝いできることはなさそうです。
81
+
82
+
83
+ 上の回答で、
84
+
85
+ > 相性の問題で ADO.NET Entity Data Model で EDM を作れないという場合は、ADO.NET + Connector/NET を使って List<Entity> オブジェクトを作って View に渡してください。
86
+
87
+ と書きましたが、その前に Entity Framework を使って List<Entity> オブジェクトを作れないか調べてみるのがよさそうです。
88
+
89
+ 先のスレッド [https://teratail.com/questions/300897](https://teratail.com/questions/300897) で行ったように、コンテキストクラス、エンティティクラス、web.config の接続文字列(MySQL 用の)を自分で書いて実装し、上の回答のコントローラーの画像で示したように db.Entity.ToList で List<Entity> オブジェクトを作れないか試してみることをお勧めします。
90
+
91
+ それがダメなら、ADO.NET + Connector/NET を使って List<Entity> オブジェクトを作るということにせざるを得ないと思います。