Я не использую последний код Майка, потому что он не собирается, и он не обновлял шаблоны для генерации кода для новой загрузки с добавленными им столбцами. Так что я одна версия в источнике.
В моей базе данных есть таблицы в нескольких схемах, и они не будут корректно обновляться.
В SubSonic.Query Update.cs мне нужно было изменить конструктор. Я включил несколько строк для контекста, но мне пришлось изменить строку 122, чтобы добавить tbl.SchemaName, чтобы был вызван правильный конструктор DatabaseTable и было перенесено имя схемы.
Из этого:
public Update(ITable table)
{
_query = new SqlQuery(table.Provider);
_provider = table.Provider;
_query.QueryCommandType = QueryType.Update;
ITable tbl = table;
DatabaseTable dbTable = new DatabaseTable(tbl.Name, _provider, tbl.ClassName);
dbTable.Columns = tbl.Columns;
_query.FromTables.Add(dbTable);
}
К этому:
public Update(ITable table)
{
_query = new SqlQuery(table.Provider);
_provider = table.Provider;
_query.QueryCommandType = QueryType.Update;
ITable tbl = table;
DatabaseTable dbTable = new DatabaseTable(tbl.SchemaName, tbl.Name, _provider, tbl.ClassName);
dbTable.Columns = tbl.Columns;
_query.FromTables.Add(dbTable);
}