我正在解析XML(LINQ to XML),並且在元素/屬性爲空的情況下我使用可空類型(int?
和decimal?
)。但是,當構建我的集合傳遞給數據庫(使用TVP)時,我不知道如何處理值實際上爲null的情況。我不能將null傳遞給SqlDataRecord SetInt32或SetDecimal,我不想將其設置爲零....我實際上希望它爲null。如何處理SqlDataRecord的Nullable類型
告訴我沒有超載int
?下面
計數是可空類型(int?
計數)
SqlDataRecord rec = new SqlDataRecord(
new SqlMetaData("Name", SqlDbType.VarChar, 50),
new SqlMetaData("Type", SqlDbType.VarChar, 50),
new SqlMetaData("Count", SqlDbType.Int));
rec.SetString(0, dm.Name);
rec.SetString(1, dm.Type);
rec.SetString(2, dm.Count);
任何想法如何處理這個問題沒有通過零(保持空)?
+1,非常好.. –
SetValue(ordinal,object)處理可空和空值對於類型和類型有一點點的開銷值長度檢查。性能差異可能不明顯。 –
@RichardCollette感謝您的評論;我沒有想到這一點。我懷疑你是對的,大多數應用程序的性能差異可能是微不足道的。不過,我確實傾向於更喜歡以哲學爲理由的更強大的打字。您的評論也激勵我添加兩年前沒有想到的小型優化。 – phoog