SQLMetal генерирует классы, но не конструкторы без параметров

Мне нужно регулярно обновлять классы Linq To SQL; Да, позор мне, что я недостаточно тщательно подумал о своей схеме данных, плохой разработчик, до тошноты. Я обнаружил, что SQLMetal почти справляется с задачей, но, возможно, мне что-то не хватает в списке параметров.

Когда я запускаю свой пакетный файл с помощью новой блестящей кнопки на панели инструментов с помощью Visual Studio External Tools,

@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 генерирует файл .dbml , ура. Однако Вопрос 1 Могу ли я программно включить файл .dbml в свой проект?

Вопрос 2

Почему, когда я компилирую после ручного включения вновь сгенерированного файла .dbml, каждый из моих классов имеет следующие ошибки сборки, связанные с номерами строк их конструкторов без параметров? например, 30 таблиц = 30 ошибок построения.

'System.Data.Linq.DataContext' does not contain a constructor that takes 0 arguments

Фактический

Я заметил, что мой DataDataContext сгенерированный класс является без конструктора без параметров, поэтому я добавил частичный класс для дополнения, но он по-прежнему не выполняет трюк.

public partial class DataDataContext
{
    public DataDataContext() :
        base(global::DAL.Properties.Settings.Default.MyConnectionString, mappingSource)
    {
        OnCreated();
    }
}

Я думал, что этот процесс обновления можно автоматизировать, но добавление вручную сгенерированного файла .dbml, который вызывает эти ошибки конструктора, у меня не работает.

6
задан aevanko 27 October 2011 в 09:58
поделиться