EF5 ベータ 2、MVC、および Visual Studio 2011/.NET 4.5 を使用して、空間型を使用して位置情報を保存しようとしています。私はコードファーストの方法を使用しており、これらのチュートリアルに従っています:
MVC を使用して EF を使い始める - http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp -net-mvc-アプリケーション
EF 空間型のチュートリアル - http://msdn.microsoft.com/en-us/hh859721
これは私のモデルです:
public class Location
{
public int LocationID { get; set; }
public string Name { get; set; }
public DbGeography CGLocation { get; set; }
public string LocationNotes { get; set; }
}
ただし、コントローラーを作成しようとすると、次のエラーが発生します。
Unable to retrieve metadata for 'MVCSpatialTest.Models.Location'. One or more validation errors were detected during model generation:
System.Data.Edm.EdmEntityType::EntityType 'DbGeography' has no key defined. Define the key for this EntityType.
System.Data.Edm.EdmEntitySet: EntityType: EntitySet
DbGeographies is based on type DbGeography that has no keys defined.
モデルから "public DbGeography CGLocation { get; set; }" を取り出すと、すべてが正常に機能し、データベース、コントローラー、およびビューが作成されます。
LocationID が自動的にキーとして使用されているような印象を受けましたが、なぜこのエラーが発生するのですか?
ありがとう、