2012-05-18 7 views
12

私はユーザーがマップ上の特定の地点の緯度と経度を入力できるフォームを持っています。データは文字列値として入力されます。私はいくつかの調査を行い、Entity Frameworkが地理データ型をサポートしていないことをさまざまな情報源から見出しました。C#、Entity FrameworkおよびSQL Server 2008を使用して地理データを読み書きする方法は?

  • 文字列データをデータベースの地理的な列に解析したり保存したりするにはどうすればよいですか?
  • 一度格納すれば、どのようにアクセスして文字列として再解析できますか?

ありがとうございます!

+0

このリンクを参照してください両方で空間型を使用することができます。 http://stackoverflow.com/questions/23292268/what-is-c-sharp-equivalent-of-geography-sql-server-datatype-in​​-net-framework-4 –

答えて

18

実際、.NET Framework 4.5に同梱されているEntity Framework 5コンポーネントは、空間型をサポートしています。このwalkthroughをご覧ください。 EF6で

EDITあなたは、.NET Framework 4および.NET Framework 4.5

+0

素晴らしい記事です。これを推薦いただきありがとうございます。 –

+1

私が見ている問題は、可能な限りすべての参照/依存関係をエンティティフレームワークと永続ストアに残し、永続ストアについて知っているセットまたはリポジトリクラスを残して、POCOSを可能な限りクリーンに保つことです。また、私はFluent設定を使用してDataAnnotation属性から離れています。 DbGeographyを配置するとすぐに、「プレーン」の古いC#オブジェクトの場合、永続性にとらわれないアプローチを破る「System.Data.Entityを使用する」必要があります。 –

+0

.NETにはネイティブ空間タイプがありません明らかに、EF空間型を使用せず、エンティティの空間プロパティに 'byte []'を使用することでハックする可能性がありますが、byte []との間で何らかの変換を行って使用可能にする必要があります。 – Pawel

関連する問題