我收集了大约20,000个需要持久保存到我的数据库的对象。现在,我不想做20000个插入语句,而想使用XML参数传递所有记录。序列化对象 - 替换值
就序列化对象并将它传递给过程而言,我已全部设置好了。然而,我想知道是否有人有一个优雅的方式来做到以下几点:
在我们的C#代码库;我们有一些静态值在保存到数据库时表示NULL。例如,如果一个整数等于-1,或者一个DateTime等于DateTime.MinValue;保存NULL。我们有自己的小自定义实现,可以在保存对象时为我们处理这个问题。
有没有什么办法可以在执行XML序列化时做类似的事情?现在它在XML中输出-1和DateTime.MinValue。我确实有一个扩展方法(IsNull()
),如果保存的值是空默认值,将返回true/false。
有什么建议吗?提示与技巧?
如果您使用3.5,为什么您使用保留值而不是空值Nulllable'? –
2010-07-21 18:22:46
@Adam:'Nullable'在.NET 2.0中引入 - 不是3.5 –
STW
2010-07-21 18:37:10
*现在,我不想使用20000个插入语句,而是使用XML参数传递所有记录。* Whoa there,cowboy!让我们退后一步,在提交自己的XML之前解决这个问题,看看为这些查询设计的BULK INSERT语句:http://msdn.microsoft.com/en-us/library/ms188365.aspx – Juliet 2010-07-21 18:38:32