我正在尝试添加一个自定义属性,这是一个guid,但它给了我这个错误:
System.InvalidCastException:无法将参数值从String转换为Guid.---> System.InvalidCastException:从'System.String'到'System.Guid'的无效转换.
我在配置中指定了这个:
我使用的实际代码(片段)是这样的:
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字段被定义为唯一标识符NOT NULL,但它没有主键约束.
对于您的示例,以下应该有效:
重要的是你将@id重命名为其他东西,否则你将在数据库中获得Null值,即使你试图插入字符串,
然后使用RawPropertyLayout存储,cus你不需要做转换.