0

「geography」タイプの「Coordinates」というプロパティを持つ SQL Server 2008 データベースとテーブルを作成しました。VS 2012 でプロジェクトを作成し、Microsoft.SqlServer.Types と EF V5 への参照を追加しました。次に、ADO.NET Entity Data Model ウィザードを使用して edmx を生成しました。VS 2012 でコンパイルすると、次のエラーが発生します。

Error   4   Error 129: The property 'Coordinates' in EntityType 'DBModel.GeoDestination' is not valid. EntityKey properties that are of type 'Geography' are currently not supported.

Web 上のサンプルの多くは、C# コードの型として「DbGeography」型を使用し、コードからデータベースを生成する「コード ファースト」の例であり、その結果、「geography」型のプロパティを持つテーブルが生成されます。

このデータベースを最初に作成して、型を修正するにはどうすればよいですか? 「テーブル マッピング」ビューを使用している場合、タイプのドロップダウン リストに「DBGeography」が表示されません。

EF 5、NET 4.5、VS 2012 SP 1、SQL Server の種類の使用

4

1 に答える 1

2

私はこれを理解しました。ウィザードのバグのようです。SQL のテーブルに主キーがない場合、ウィザードは結果の EF モデルにキーを自動的に生成します。ランダムに表示され、1 つのキーが生成されることもあれば、複数のプロパティ キーが生成されることもあります。Geography データ型をキーにすることはできません。テーブルのキーではありませんでしたが、ウィザードがキーにしました。

この回答が他の人に役立つことを願っています。

于 2012-12-20T16:48:02.233 に答える