2009-10-21 5 views
2

Cette question est un peu un deux parter pour les services de données .Net. Ceci est la signature de la fonction que je suis en train de réaliser:Opération de service de données ADO.Net: Tableau de nombres entiers en tant que paramètre

/// <summary> 
/// Returns Descriptions for any asset in the given assetIDs. 
/// </summary> 
[WebGet] 
public IQueryable<Description> FindDescriptionForAssets(int[] assetIDs); 
  1. Je suis en train de créer une opération de service personnalisé sur un service de données ADO.Net qui prend un tableau d'entiers comme paramètre. Ma compréhension est que ADO.Net Data Services ne peut pas accepter un tableau (ou Liste ou autre énumérable) en tant que paramètre. Est-ce vrai? Y a-t-il un moyen de contourner cela?

  2. Il semble que l'utilisation de tableaux de ce type peut être obtenue en utilisant le DomainService des services .Net RIA. Cependant, je n'ai pas été capable de trouver des exemples le démontrant. Quelqu'un peut-il confirmer cela?

+0

J'ai découvert que les services RIA ne prennent pas en charge l'héritage actuellement (j'espère vraiment que cela sera changé dans la prochaine version), donc il s'est avéré que ce n'était pas une option. J'ai fini par créer une opération de service pour le service de données ADO.Net, et au lieu d'un tableau d'ints, les ID sont transmis en tant que valeurs séparées par des virgules dans une chaîne. – grimus

Répondre

1

Les services RIA prennent en charge le passage d'un tableau d'entiers. Juste testé en utilisant cet appel de service.

[ServiceOperation] 
public string SayHello(int[] input) 
{ 
    StringBuilder strings = new StringBuilder(); 

    foreach (var i in input) 
    { 
     strings.AppendFormat("Hello {0}!", i); 
    } 

    return strings.ToString(); 
} 

Vous ne savez pas sur le service de données ADO.Net. Peut-être un problème à cause de l'interface RESTful.

Questions connexes