0

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 が自動的にキーとして使用されているような印象を受けましたが、なぜこのエラーが発生するのですか?

ありがとう、

4

0 に答える 0