我想添加自定义属性,它是一个GUID,但它给我这个错误:使用uniqueidentifiers /的GUID在log4net的自定义属性
System.InvalidCastException: Failed to convert parameter value from a String to a Guid. ---> System.InvalidCastException: Invalid cast from 'System.String' to 'System.Guid'.
我在config指定此:
<parameter>
<parameterName value="@id" />
<dbType value="Guid" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%X{id}" />
</layout>
</parameter>
的实际代码(段),我用的是这个:
Guid guid = Guid.NewGuid();
if (defaultLogger.IsEnabledFor(level))
{
var loggingEvent = new LoggingEvent(ThisDeclaringType,
defaultLogger.Repository, defaultLogger.Name, level, message, exception);
loggingEvent.Properties["Id"] = guid;
任何帮助吗? :)数据库中的id字段被定义为uniqueidentifier NOT NULL,但它没有主键约束。
为什么你想要一个GUID?这是否提供某种上下文? – 2009-01-08 13:02:04