0

データセットを返す Web サービスから JSON 応答を作成しようとしています。データテーブルをループして、それらの値をクライアント モデルに入れるにはどうすればよいですか? データテーブルをループしようとすると、無効な開始エラーが発生します。これが私のコードです:

public class ClientsController : ApiController
{
    public IEnumerable<ClientResponseModels> GetAllClients()
    {  
        //retrieves list of all the clients
        var dsClients = ClientRepository.GetAllClients();

        //create a json response object
        ClientResponseModels[] response = new ClientResponseModels[]
        {
            new ClientResponseModels
            {
                UserId= userDetails.UserID,
                UserName=userDetails.LoginName,
                LocationName=centreLocation.ToString(),
                Clients = new List<ClientModels>
                {  
                    foreach(DataRow row in dsClients.Tables[0].rows)
                    {
                        new ClientModels //these values need to come from datatable
                        {
                            Id =Convert.ToInt32(row["client_id"]), 
                            ClientName=Convert.ToString(row["client_nme"])", 
                            DOB= Convert.ToDateTime(row["birth_date]")
                        }
                    }    
                } 
            }
        };
        return response;
    }
    else {
        throw new HttpResponseException(HttpStatusCode.Forbidden);
    }
}
4

2 に答える 2

0

エンティティ フレームワークを使用して datacontext 構成を変更します。

        MyDataContext db = new MyDataContext();
        db.Configuration.LazyLoadingEnabled = false;
        db.Configuration.ProxyCreationEnabled = false;
于 2013-05-03T05:45:57.923 に答える
0

あなたのコードがクエリ可能なものをループしているので、関数が原因だと思います。GetAllClients().ToList() など、ループする前に最初にデータを取得できます。

于 2014-11-29T23:30:26.917 に答える