2011-07-13 46 views
7

我有一個LINQ模型包含一個存儲過程填充的實體。過程返回的幾個字段都是可空的位字段,所以我在模型上創建了這些空字段作爲可空布爾值。我期望這工作得很好,但是當我運行我的應用程序出現以下情況例外,從System.Runtime.Serialization ...LINQ模型的問題 - 不能將NULL分配給可空布爾值!

格式化拋出一個異常,而試圖反序列化 消息:試圖出錯反序列化參數 urn:Nbs.PrePaidCards.ChargebackService:GetUnlinkedChargebacksAndRepresentmentsResult。 InnerException消息是'ValueType'System.Boolean'不能是 null'。有關更多詳細信息,請參閱InnerException。

現在我想明白這一點,如果我試圖填充正規bool場與null,但由於物業是Nullable,這有我有點難倒!

有沒有其他人有這個問題,並知道如何解決它?

感謝

+1

你確定你的DBML是最新的數據庫嗎?另外,你可以顯示觸發錯誤的代碼嗎? – bzlm

+0

它看起來像一個不可空的布爾值賦予一個null,您將不得不張貼代碼否則我們不會在這裏知道它 – V4Vendetta

+0

奇怪的是,我有一個與可空的bools相同的模型的另一個類,並且工作正常。我正在使用SQL Server 2005數據庫。 – TabbyCool

回答

10

的問題是由過時的服務參考我的客戶端造成的,所以雖然該服務有一個可空布爾領域,在客戶端上的代理仍然期待一個普通布爾場,因此係列化例外。

+0

我們如何解決這件事? –

+0

請確保您的客戶項目中的服務引用是最新的,我的問題是由我的服務公開的數據合同與客戶預期的不同所引起的。 – TabbyCool