0

J'ai construit mon modèle d'entité. Un de mes objets métier, appelons-le Store a un type de données spatiales. Très vite, j'ai compris que les champs spatiaux ne sont pas mappés via EF4. Cependant, je luttais mon chemin, en éditant les déclarations xml définissant une requête comme ce qui suit:Comment, WCF Ria Services peut-il créer une entité personnalisée, connue du côté client?

<EntitySet Name="Stores" EntityType="Eltrun.OnShelfAuditModel.Store.Stores"> 
    <DefiningQuery> 
     SELECT [rowId], [storeName], [location].STAsText() as location FROM Stores 
    </DefiningQuery> 
    </EntitySet> 

A ce moment j'ai décidé de personnaliser mon entité Store via une classe partielle comme celui-ci, juste pour faire la conversion et encore conserver les données de SqlGeography stockées, retournant juste un double [] au client (que je ne peux pas retourner ni SqlGeography, ni Emplacement (Bing type de données).

public partial class Store 
{ 
    public double[] StoreLocation 
    { 
     get 
     { 
      SqlGeography geoLocation = SqlGeography. 
       STPointFromText(new SqlChars(this.location.ToCharArray()), 4326); 
      return new double[]{ 
          (double)geoLocation.Lat, 
          (double)geoLocation.Long};     
     } 
    } 

}

Comment puis-je faire connaître le type de données de magasin de ma petite personnalisation, à c projet de lient? Merci!

Répondre

1

Ajoutez simplement un paramètre à votre propriété et le générateur de code et le sérialiseur des services RIA doivent créer la propriété équivalente sur la version du client de la classe Store.

Un espoir qui aide ...

Questions connexes