Spatial data types in Entity Framework and MVC
Tuesday, 12 June 2012
I was slapped with another funny one with Entity Framework and MVC today. I wanted to access a
System.Data.Spatial.DbGeography part of the Entity Framework in one of my views. But I kept getting the error saying that
DbGeography was in an assembly that wasn't referenced.
This was the error, to be precise.
Compiler Error Message: CS0012: The type 'System.Data.Spatial.DbGeography' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Entity, Version=126.96.36.199, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
It took me a little while to figure it out since I knew I had that assembly referenced in my project.
The solution was to add this to the
~/Views/Web.config (and any
Web.config under any areas that may also utilise this)
<compilation debug="true" targetFramework="4.0"> <assemblies> <add assembly="System.Data.Entity, Version=188.8.131.52, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </assemblies> </compilation>
Easy as pie.