0

Est-il possible de renvoyer des types complexes imbriqués à partir de plusieurs procédures stockées différentes en utilisant EF? (par exemple, ClientSelect, ClientAddressSelect)Renvoi de types complexes imbriqués à partir de EF4 à l'aide de procédures stockées

J'ai importé quelques procédures stockées et ajouté des importations de fonctions et créé un type complexe pour chacun des types de retour. (par exemple Client et ClientAddress). Maintenant, par exemple, je souhaite ajouter le type de complexe ClientAddress au type de complexe Client. Je vais retourner toutes les valeurs pour Client en utilisant ClientSelect, puis remplir ClientAddress en utilisant ClientAddressSelect.

Lorsque je tente de lancer ClientSelect je reçois l'erreur suivante:

"Nested ComplexType property 'ClientAddresses' in the ReturnType 'Client' of the function 'myModel.ClientSelect' is not supported, please consider flattening the nested ComplexType property." 

Ce qui le fait ressembler à cela est impossible, est-il une autre façon autour de ce? J'utilise WCF RIA Services et souhaite remplir l'objet Client complet sur le serveur avant de l'envoyer au client Silverlight.

Toute aide/suggestion appréciée.

Répondre

0

Je résolu ce problème en ajoutant la déclaration de type complexe dans une classe partielle et en utilisant les attributs [Include] et [Associate].

using System.ServiceModel.DomainServices.Server; 
using System.ComponentModel.DataAnnotations; 

public partial class Client 
{ 
    [Include] 
    [Association("Client_Address", "ClientAddressID", "ClientAddressID")] 
    public IEnumerable<ClientAddress> Addresses { get; set; } 
} 

J'appelle alors un SP pour remplir Client, puis une procédure stockée séparée pour alimenter Client.Addresses

0

Le dernier RIA Services SP1 (vient de sortir en tant que BETA) prend désormais en charge les types complexes. Vous pourriez vouloir le considérer comme nous l'avons trouvé il résout également un certain nombre de problèmes avec des services de RIA.

Services RIA WCF V1.0 Beta SP1 pour Silverlight 4: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=330f6831-5b90-4315-b042-96127a4a7efc

Services RIA WCF Toolkit Octobre 2010: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a23325ef-7b1f-4c92-9fd5-ffee48f7c7bc