2016-07-11 11 views
0

私はWCF Webサービスで新しく、非常にクライアントで1つのリストを受信し、データベースにすべてのクライアントを挿入した後にメソッドを作成する必要があります。WCFオブジェクトの受信リストとデータベースに挿入

ATER私はこの

IService.cs

public interface IService1 
{ 
    [OperationContract] 
    int InsertClients(MyListofClients clients); 
} 

[DataContract] 
public class MyListofClients 
{ 
    [DataMember] 
    List<Client> Clients { get; set; } 
} 

[DataContract] 
public class Client 
{ 
    [DataMember] 
    public int clientId { get; set; } 
    [DataMember] 
    public string ClientName { get; set; } 
    [DataMember] 
    public List<Client> Clients { get; set; } 
} 
} 

Servic1.svc

public int InsertClients(MyListofClients clients) 
    { 
     int res, result; 
     using (NpgsqlConnection conn = new NpgsqlConnection(connStringFarm)) 
     { 
      conn.Open(); 
      List<MyListofClients> firstStringList = new  List<MyListofClients>(); 
      string cmdStr = String.Format("Insert Into table (x1,x2)" + 
              " VALUES(@x1,@x2)"); 

      foreach (var item in firstStringList) 
      { 
       NpgsqlCommand cmd = new NpgsqlCommand(cmdStr, conn); 
       result = cmd.ExecuteNonQuery(); 
      } 

      conn.Close(); 
      return 0; 
      } 

アプリケーションクライアント

を実装しているいくつかの検索
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim db_comm As New NpgsqlCommand 
    Dim Reader As NpgsqlDataReader 


    Dim query As String = "Select code1,name1 from clientes" 
    db_comm.CommandText = query 
    db_comm.Connection = conn 
    conn.open 
    Reader = db_comm.ExecuteReader 

    Dim list As New List(Of String) 

    While Reader.Read 
     list.Add(Reader.GetString("code1")) 
     list.Add(Reader.GetString("name1")) 
    End While 

    Dim API As APICS.Service1Client = New APICS.Service1Client() 
    API.InsertClientsAsync(list) 
End Sub 

ERROR バリュータイプの '(列の)リストは' 'MyListofClients' に変換することはできません。

誰かが私を助けることができますか?

おかげ

+0

これは問題ありません。あなたの質問は何ですか? –

+0

問題が何であるか教えていただけない場合はお手伝いできません。間違いはありますか?何も起こらない?どのようにサービスをホストしていますか?どのDBMSを使用していますか? – Tim

+0

vb.netのアプリケーションクライアントから、WCFサービスのリストも渡す必要があります。基本的に私は他のデータベースからデータを取得し、リスト内のこのwcfにデータを送信する必要があります。私はこれをどのようにすることができますか?ティム私はIISもホストとpostgresql –

答えて

0

あなたのサービスメソッドは、MyListOfClientオブジェクトを期待していますが、文字列のリストを渡しています。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
Dim db_comm As New NpgsqlCommand 
Dim Reader As NpgsqlDataReader 


Dim query As String = "Select code1,name1 from clientes" 
db_comm.CommandText = query 
db_comm.Connection = conn 
conn.open 
Reader = db_comm.ExecuteReader 

Dim list As New List(Of String) --> wrong; this should be MyListOfClient 

While Reader.Read 
    list.Add(Reader.GetString("code1")) 
    list.Add(Reader.GetString("name1")) 
End While 

Dim API As APICS.Service1Client = New APICS.Service1Client() 
API.InsertClientsAsyn(list) --> wrong; this should be MyListOfClient 
+0

しかし、MyListOfClientは、リストを使用しています。私はそこに何を置くべきですか? –

関連する問題