2011-07-31 13 views
0

私の最後の質問は明確ではありませんでした。私がVB.netでWebサービスを作ろうとしているのは、私がLINQから得た結果を返すことができるということです。つまり、 "return objreturnLINQResults" 私は、Public関数GetAlarmsByGUIS(ByVal DeptGUID As String、ByVal IdNumber As String)をLinq.DataContextとして設定しようとしました。私はちょうどエラーを取得し続けます。助けてください。vb.net Web Server linq to sql returns

Public Function GetAlarmsByGUIS(ByVal DeptGUID As String, ByVal IdNumber As String) As Linq.DataContext 
    Dim lqAlarms As New linqAlarmDumpDataContext 
    Dim Temp As String = "" 
    Dim n As Integer = 0 
    Dim GetAlrms = From r In lqAlarms.AlarmDrops _ 
        Where r.DeptGUID = DeptGUID And Not r.AlarmsHandled.Contains(IdNumber) _ 
        Order By r.TimeDate Descending _ 
        Select r 


    Return GetAlrms 
End Function 

答えて

1

1)あなたはDataContextのobject.Return値を返し、Webサービスメソッドの入力パラメータは、XmlSerializerクラスによってシリアライズ可能である必要があり、Webサービスのメソッドを作成することはできません。 DataContextはシリアル化可能ではありません

2)エラーを回避する最も簡単な方法は、直列化可能なオブジェクトの配列を返します。このようにGetAlrms.ToArray();

+0

私は配列を返すので、関数をどのように設定するのですか? Ex パブリック関数GetAlarmsByGUIS(ByVal DeptGUID As String、ByVal IdNumber As String)配列として、エラーだけが出力されます。申し訳ありませんが、ウェブサービスに新しい質問があります。 – Ghsotwalker42

+0

あなたはこのように記述する必要があります - Public関数GetAlarmsByGUIS(ByVal DeptGUID As String、ByVal IdNumber As String)としてAlarmDrop []。私はAlarmDropタイプについてはわかりませんが、linqクエリからr - 変数のタイプでなければなりません。がんばろう! – IceN