あなたはSQLにLINQを話していると仮定すると、あなたはたとえば...あなたがやりたいので、基本的にSubmitChanges
をオーバーライドして、ことができます。もちろん
partial class YourDataContext
{
public override void SubmitChanges(ConflictMode failureMode) // don't worry, the parameterless version you know calls this one...
{
var changeSet = GetChangeSet();
foreach (object insert in changeSet.Inserts)
{
// set LastUpdate property
}
foreach (object update in changeSet.Updates)
{
// set LastUpdate property
}
base.SubmitChanges();
}
}
、「最終更新プロパティを設定する」ではありませんはコメント必然的に些細なことです。あなたは、私が数秒で思い付いたこと、それを行うことが一つの方法は、最終更新プロパティを持つインターフェイスを作成することであり、それから、すべてのLINQのオブジェクトを派生:
public interface IHasLastUpdate
{
DateTime LastUpdate { get; set; }
}
partial class Order : IHasLastUpdate {}
partial class Product : IHasLastUpdate {}
// etc
その後、あなたは、コメント行を置き換えることができます
(insert as IHasLastUpdate).LastUpdate = DateTime.Now;
出典
2011-08-08 16:13:10
Jon
私はこれをどこで見ることができるかについてのよい参照がありますか? – TheJediCowboy
使用しているDBMSを教えてください。 –
http://sqlserver2000.databases.aspfaq.com/how-do-i-audit-changes-to-sql-server-data.html – Travis