Проверьте Linq2Sql перед SubmitChanges ()

Работы Firebug над вычислили CSS (тот, который Вы получаете путем взятия CSS в файлах и применения наследования, и т.д. плюс изменения, внесенные с JavaScript). Это означает, что, вероятно, Вы не могли использовать его непосредственно для включения в файл HTML, который является конкретным браузером/версией (если Вы не заботитесь только о Firefox). С другой стороны, это отслеживает то, что является исходным и что вычисляется... Я думаю, что не должно быть очень трудно добавить некоторый JS к Firebug, чтобы быть в состоянии экспортировать тот CSS в текстовый файл.

6
задан David Basarab 14 March 2010 в 15:39
поделиться

2 ответа

Чтобы получить все изменения в контексте данных, вы можете вызвать

ChangeSet changes = dataContext.GetChangeSet();

// An IList<Object>
changes.Deletes;
changes.Inserts;
changes.Updates;

У меня есть то, что у каждого объекта значения есть метод проверки. Я использую атрибуты для определения различных типов проверки. Причина, по которой я делаю это вручную, заключается в том, что у меня есть число, которое может быть int в базе данных и коде, значение 1002 может быть недействительным, если я сохраню возраст. Так что я могу дать ряд значений и т. Д. .

Если каждый из ваших объектов-значений наследуется от базового объекта, это упрощает их повторение. Предполагая, что у вас есть в вашем базовом классе метод Validate.

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

6
ответ дан 9 December 2019 в 22:38
поделиться

Вы также можете использовать функцию OnValidate () с частичным классом объекта LINQ-to-SQL. OnValidate () затем будет вызываться во время SubmitChanges () , но перед отправкой данных в базу данных. Одна приятная особенность OnValidate () заключается в том, что вы можете различать действия CRUD с помощью перечисления ChangeAction .

Например,

public partial class YourEntity
{
    partial void OnValidate(System.Data.Linq.ChangeAction action)
    {
        if(action == System.Data.Linq.ChangeAction.Insert)
           // Do insert
        ... etc. ...
    }
}
5
ответ дан 9 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: