Necesito actualizar periódicamente mis clases de Linq a SQL; Sí, lástima que no haya pensado lo suficiente en mi esquema de datos, desarrollador malo, ad nauseum. Descubrí que SQLMetal casi resuelve el problema, pero tal vez me falta algo de la lista de parámetros.SQLMetal genera clases pero no constructores sin parámetros
Cuando ejecuto mi archivo por lotes de mi botón brillante nueva barra de herramientas usando Herramientas de Visual Studio externos,
@echo off
del c:\path\to\LinqToSql.dbml
SQLMetal.exe /server:SERVER\SQLSERVER /database:db /timeout:0 /dbml:"c:\path\to\LinqToSql.dbml" /namespace:DAL /context:DataDataContext /entitybase:System.Data.Linq.DataContext /language:csharp /pluralize
SQLMetal genera el archivo .dbml, hurra. Sin embargo, Pregunta 1 ¿Puedo incluir programáticamente el archivo .dbml en mi proyecto?
Pregunta 2
Por qué, cuando compilo después de incluir manualmente el archivo .dbml recién generado, hacer cada una de mis clases tienen la siguiente construir los errores asociados con el número de línea de sus constructores sin parámetros? p.ej. 30 tablas = 30 errores de compilación.
'System.Data.Linq.DataContext' does not contain a constructor that takes 0 arguments
El actual
Me di cuenta de mi DataDataContext
clase generada es sin un constructor sin parámetros, por lo que añadió una clase parcial para complementar, pero todavía no hace el truco.
public partial class DataDataContext
{
public DataDataContext() :
base(global::DAL.Properties.Settings.Default.MyConnectionString, mappingSource)
{
OnCreated();
}
}
pensé que este proceso de actualización podría ser automatizado, pero añadiendo manualmente el archivo .dbml generado que produce estos errores constructor no está funcionando para mí.
Bounty añadido. He usado el OP Designer sin problemas, pero trabajando con SQL Compact y pasando por SQLMetal, creo que muchos de nosotros queremos saber cómo generar un constructor sin parámetros. – aevanko