1

次のようなクエリがあります。

 surveyCompleted = from s in surveyCompleted 
                where agentTickets.Contains(s.TicketID.Value) || s.UserID == new Guid(txtUserID.Text) select s;

問題は、このステートメントの後、InvalidCastExceptionが発生するため、surveyCompletedでは何もできないことです。なぜこれが起こるのか考えはありますか?SurveyCompletedを使用した他のすべてのselectステートメントは正常に機能しますが、これは失敗しますか?where句のステートメント「agentTickets.Contains(s.TicketID.Value)」からでしょうか?

4

3 に答える 3

1

このコードで試してください

from s in surveyCompleted 
                where agentTickets.Contains(s.TicketID.Value) || s.UserID == new Guid(txtUserID.Text).ToString() select s;
于 2012-08-02T14:41:07.377 に答える
1

txtUserIDが(名前はそうTextBox思うようになります)の場合、正確な文字列(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)new Guid(txtUserID.Text)が含まれていない場合はスローされますGuid

于 2012-08-02T14:52:15.370 に答える
0

これはLINQtoSQLですよね?

s.TicketIDそれが決してNULLでないことを確認してください:

!Convert.IsDBNull(s.TicketID) && agentTickets.Contains(s.TicketID.Value)
于 2012-08-02T14:45:53.307 に答える