![](/img/trans.png)
[英]Expression of type 'System.Func`2[T,System.Boolean]' cannot be used for return type 'System.Boolean'
[英]Can't return null (System.Boolean cannot be null)
我想使用WCF服務從數據庫將int和bool值返回到WP頁。 當數據庫中的那些字段為null
我得到一個例外:
格式化程序嘗試反序列化消息時引發異常:嘗試反序列化參數http://tempuri.org/:someFuncResult時發生錯誤。 InnerException消息為'ValueType'System.Boolean'不能為null。 有關更多詳細信息,請參見InnerException。
與int類型,我有同樣的問題。
我的數據庫片段如下所示:
[boolValue] BIT NULL,
[intValue] INT NULL,
我的服務實現:
public someClass someFunc(int check)
{
return (from a in datacontext.someTable
where a.number == check
select new someClass ()
{
intValue2 = (int?)a.intValue ,
boolValue2 = (bool?)a.boolValue,
}).Single();
}
我的服務界面:
[OperationContract]
someClass someFunc(int check);
[DataContract]
public class someClass
{
[DataMember]
public int? intValue2 { get; set; }
[DataMember]
public bool? boolValue2 { get; set; }
}
由於Nullable<bool>
字段是最近引入的,因此我的服務在客戶端的引用未更新。 更新參考后,它開始工作。
數據庫null與標准null不同
使用這個功能
static bool ConvertToBool(object Dnull)
{
try
{
DBNull a = (DBNull)Dnull;
string u = a.ToString();
if (u.Length > 0)
{
return false;
}
else
{
return true;
}
}
catch (InvalidCastException e)
{
return false;
}
}
和
bool Isnull = ConvertToBool(_sqldatareader["Name"]);
這項工作在mysql中很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.