Tengo un proyecto (uno pequeño, concedido) que creció para tener nuevos requisitos para tipos espaciales. Decidí ver qué fácil sería actualizar al marco de la entidad de LINQ a SQL.
No tardé más de 30 minutos. Asegúrese de tener una copia de seguridad de control de fuente antes de comenzar.
Install-Package EntityFramework -Version {pick one}
- Eliminar el
.dbml
archivo (s) de edad
- generar un nuevo modelo de entidad y actualizar sus referencias a los nuevos objetos de entidades (esto es más fácil si ya tenía un repositorio de base o algo envoltura LINQ a SQL). Fui por esta ruta (primero la base de datos/diseñador) porque era una ruta de actualización más simple de LINQ a SQL. Puede intentar codificar primero si lo prefiere, pero ... YMMV.
- Actualice sus cadenas de conexión. Entity Framework tiene su propia envoltura extraña alrededor de las conexiones SQL tradicionales. El mío es así, el tuyo podría verse diferente:
metadata=res://*/;provider=System.Data.SqlClient;provider connection string='Data Source=.\SQLEXPRESS; Initial Catalog=MyDataBase; Integrated Security=True'
- Soluciona los errores de compilación. La mayoría de ellos serán diferencias en
Insert/DeleteOnSubmit
y EF Add/Remove
o Add/RemoveRange
. Los ámbitos de transacción pueden funcionar de manera diferente (considere usar context.Database.BeginTransaction
en lugar de los ámbitos de transacción).
- Reconstruya una vez resueltos los errores de compilación.
Eso es todo.Fue mucho más fácil de lo que esperaba y ahora puedo usar los tipos de espacio sin ningún truco.
Gracias, este proyecto acaba de comenzar. ¿Sería mejor cambiarme a un marco de mapeo de tablas (orm) diferente que admita el tipo de geografía? ¿Hay alguno? – Chin
@Chin - revise el artículo donde hay algunos problemas, espero que funcione para usted - que no necesite moverse en otro orm –