Журнал изменений, внесенных в объекты, созданные LINQ to SQL - PullRequest
0 голосов
/ 20 июня 2011

Мне было интересно, как лучше всего регистрировать изменения, внесенные в объекты, созданные linq.

Я искал вокруг, и вот что я придумал:

using (testDBDataContext db = new testDBDataContext())
{
    Sometable table = db.Sometables.Single(x => x.id == 1);

    table.Something = txtTextboxToChangeValue.Text;

    Sometable tableBeforeChanges = db.Sometables.GetOriginalEntityState(table);

    foreach (System.Data.Linq.ModifiedMemberInfo item in db.Sometables.GetModifiedMembers(table))
    {
        // Obviously writing to debug is not what i would like to do
        System.Diagnostics.Debug.WriteLine("Old value: " + item.OriginalValue.ToString());
        System.Diagnostics.Debug.WriteLine("New value: " + item.CurrentValue.ToString());
    }
}

Это действительно способ регистрировать изменения?

Ответы [ 2 ]

0 голосов
/ 27 июня 2011

Я искал вокруг, и я думаю, что я собираюсь использовать DoodleAudit (doddleaudit.codeplex.com), это, кажется, дает мне то, что я хотел, tnx за помощь в любом случае!

0 голосов
/ 20 июня 2011

Отслеживание изменений или Сбор данных изменений . LINQ не имеет к этому никакого отношения. Как правило, клиентская сторона не может должным образом отслеживать изменения, которые происходят на сервере, потому что изменения могут происходить в альтернативном доступе, который не происходит через клиента. В качестве предостережения, настройка полного аудита данных для всех изменений редко бывает успешной, поскольку штраф за повышение производительности, как правило, слишком велик.

...