6

それは私だけですか、それともうまくいかないようですか?

モデルでは、最初に単純なテーブルをドラッグして列挙型を作成しました (列挙型への変換を介して)。ダイアログで列挙型アイテムを作成して、作成せずに試してみましたが、参照外部型にチェックを入れると、次のようになります。

指定されたスキーマは無効です。エラー: 概念型 'ControlPanelDevModel.EventType' に対応するオブジェクト レイヤーの型が見つかりませんでした。

4

2 に答える 2

12

上記の補足として、外部列挙型をtinyintのデータベース型にマッピングするときに同じエラーが発生することがわかりました。

解決策は、この投稿で指定されているように、Enum を型「byte」から継承させることです。

Tinyint(byte)、SmallInt(Int16) は EF5 の Enum と互換性がありません

于 2013-04-16T10:24:38.440 に答える
10

私のブログ投稿を見てください-外部列挙型を作成して使用する方法を示しています:http://blog.3d-logic.com/2012/09/11/using-exisiting-enum-types-in-entity-framework- 5/ .NET Framework4.5に同梱されているEF5RTM(EF June CTP 2011ではない)を使用している場合は、EDM列挙型のメンバーを指定する必要はありません。重要なことは、EDM列挙型の名前が外部CLR列挙型の名前と一致し、基になる型が同じであることを確認することです(基になる型が指定されていない場合は、C#/VBと同様にEdm.Int32が使用されます。 NET-intが使用される場所)。EDM列挙型のメンバーを分離する場合は、名前や値がC#/VB列挙型のメンバーと異なるメンバーを使用しないでください。また、EDM列挙型でCLR列挙型のすべてのメンバーを指定する必要はありません(実際、上で指摘したように、メンバーがいない可能性があり、すべてが機能するはずです)。

于 2012-09-17T17:09:16.823 に答える