【问题标题】:Problem With LINQ Model - Can't Assign NULL To Nullable Boolean!LINQ 模型的问题 - 无法将 NULL 分配给可空的布尔值!
【发布时间】:2011-07-13 10:33:44
【问题描述】:

我有一个 LINQ 模型,其中包含一个由存储过程填充的实体。该过程返回的几个字段是可为空的位字段,因此我在模型上将它们创建为可为空的布尔值。我希望这可以正常工作,但是当我运行我的应用程序时,我从System.Runtime.Serialization 收到以下异常...

格式化程序在尝试反序列化 消息:尝试反序列化参数时出错 urn:Nbs.PrePaidCards.ChargebackService:GetUnlinkedChargebacksAndRepresentmentsResult。 InnerException 消息是 'ValueType 'System.Boolean' 不能 空值。'。有关详细信息,请参阅 InnerException。

现在,如果我尝试使用 null 填充常规 bool 字段,我会明白这一点,但由于属性是 Nullable,这让我有点难过!

有其他人遇到过这个问题并且知道如何解决吗?

谢谢

【问题讨论】:

  • 您确定您的 DBML 是最新的数据库吗?另外,你能显示触发错误的代码吗?
  • 似乎将 null 分配给不可为 null 的布尔值,您将不得不发布代码,否则我们无法在这里知道它
  • 奇怪的是,我在同一个模型上有另一个类,带有可为空的布尔值,而且工作正常。我使用的是 SQL Server 2005 数据库。

标签: c# linq sql-server-2005 serialization linq-to-sql


【解决方案1】:

问题是由我的客户端上的过期服务引用引起的,所以虽然服务有一个可为空的 bool 字段,但客户端上的代理仍然需要一个常规的 bool 字段,因此出现序列化异常。

【讨论】:

  • 确保您的客户项目中的服务引用是最新的,我的问题是由于我的服务公开的数据合同与客户预期的数据合同之间的冲突造成的。
猜你喜欢
  • 2013-07-16
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 2019-12-03
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多