我同时使用Elmah和Log4Net(使用ADONetAppender),它们非常棒。但是,我注意到它们都有一个表ID键(递增数),当我清除它们的日志时它不会重置为零。他们从哪里获得此ID值?另外,log4net列是否有任何理由不使用主键作为ID值,或者如果我添加一个主键,我会遇到麻烦吗?
答案 0 :(得分:1)
我怀疑它是数据库中auto increment
字段的ID
指令,因为当您删除条目时,此值不会重置为零,只有在被截断时(请更正我,我'我不确定)。尝试直接重置数据库中的表,而不是使用记录器基础结构。
答案 1 :(得分:1)
如果您使用的是Microsoft SQL Server,则可以使用DBCC CHECKIDENT
语句重置IDENTITY列种子,如下所示:
DBCC CHECKIDENT ( table_name, RESEED, new_reseed_value )
例如,要将ELMAH_Error
表的IDENTITY列重置为值1,您可以使用:
DBCC CHECKIDENT ( ELMAH_Error, RESEED, 1 )
快乐编程!