小さなプロジェクトにMySql Entity Frameworkプロバイダを使用しようとしています。 MySql Connector(DevArtではなく、MySQLで開発されたもの)を使って作業するとき、私はいつも「癖」に遭遇しました。MySql Entity Frameworkデータベースファースト - 主キー=ロング?
私が見つけた最新のものは、データベースから生成された私のエンティティは、データベースのタイプが符号付き整数、自動増加、PRIMARY KEYとして指定されているにもかかわらず、自分のIDフィールドのためのlong
代わりのint
を得ているということでした。
LAST_INSERT_ID()
は常にlong
を返します。私のエンティティはID値を作成するためにデータベースに依存しているので、おそらくMySQL ConnectorはIDのlong
を挿入後にid取得に対応させるでしょうか?
私が遭遇したすべての問題の最も簡単な回避策は、SQL Serverを使用することです。しかし、このアプリのターゲットは共有ホスティングです。 SQL Serverアドオンを支払っても、ほとんどの共有ホストはSQL Serverインスタンスを200MBに制限し、1または2のデータベースのみを許可します。それは私の意見ではあまりにも小さいです。同じホストがいくつかの1GB MySQLデータベースを無料で提供しています。あなたがそれを超えるなら、おそらく専用ボックスを持っているはずです。
:)私のバグレポート。 – Sam
私はちょうどそれがこのように動作することに驚いています。どうにかして、MySQL Administrator/Workbenchは自分の鍵を整数として定義したことを覚えています。コネクタは同じメタデータにアクセスしませんか? – Sam
私はあなたが驚いています。コネクターがデータベース/モデルで定義したものとは異なる値を戻すのは論理的ではありません。コネクターを開発した人は、たった一つの戻り値の型を選択した可能性があります。 – WimB