Pregunta

entiendo subsónico 3.0 es la última y más grande, y entiendo subsónico 3.0 tiene T4 plantillas.

Pero subsónico 3.0 no es compatible con Subsonic 2.2, es decir, mi proyecto con cientos de archivos de código escrito en el lenguaje de consulta 2.2 subsónica no funcionará en subsónico 3.0.

Así que mi pregunta: ¿Hay plantillas T4 alguien ha hecho por primera mezcla 2.2 para reemplazar los archivos generados que crea. Mi DB es enorme y la cantidad de archivos que se genera es conseguir un poco loco.

¿Alguien ha hecho esta capacidad o alguien ha hecho una herramienta personalizada para ayudar a la ruta de actualización?

Gracias por leer

¿Fue útil?

Solución

SubSonic 3 ha sido un gran recodificación del núcleo, utilizando algunas técnicas nuevas, tales como T4 en lugar de su propias plantillas y proporcionar un motor de consultas LINQ.

Sin embargo, la mayor parte de las buenas características de edad, al igual que la herramienta de consulta, están todavía disponibles.

Si hizo esto:

var p = new Product();
p.ProductName = "new product";
p.Save();

o este

var p = DB.Select()
         .From<Product>()
         .Where(Product.ProductCode).IsEqualTo("1234")
         .ExecuteSingle<Product>();

Esto todavía trabajo con SubSonic3

Si usted es lo suficientemente valiente como mi sugerencia para una ruta de actualización sería la siguiente:

  • Asegúrese de que sus usos DAL "generatenullableproperties = true"
  • Si no volver a crearlo y corregir posibles excepciones compilador / tiempo de ejecución:

    if (p.QuantityHasValue) p.Total = p.Quantity * p.Price;
    // changes to
    if (p.Quantity.HasValue) p.Total = p.Quantity * p.Price;
    
  • Cambiar el espacio de nombres de archivo desde que Your.Namespace.DAL a Your.Namespace.LegacyDAL

  • genera
  • crear el DAL con las plantillas de ActiveRecord en su antiguo espacio de nombres
  • Si ha utilizado InlineQuery, el nombre de la clase cambiado a codinghorror
  • corregir todos los errores del compilador (tal vez los nombres de las propiedades generadas / tipos difieren un poco)
  • consultas de reescritura si es necesario
  • si está utilizando migraciones subsónicas: seguir con ellos ya que no hay reemplazo co-iguales en SubSonic3
  • prueba, prueba, prueba !!! hasta que todo funciona bien
  • hacer uso de la subsonic3 características (tales como LINQ) sólo para las nuevas tareas
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top