2010-08-05 4 views
1

J'ai une demande mis en place avec RIA Services, Entity Framework 4 et Silverlight 4. Il est configuré de façon standard prescrite sur MSDN ici: Walkthrough: Creating a RIA Services SolutionComment une méthode ou une propriété sur le modèle du serveur est-elle également générée dans le client?

J'ai écrit une nouvelle méthode (ou la propriété) contre l'un des objets d'entité résidant sur le serveur; Je voudrais que cette méthode (ou propriété) soit également générée (automagiquement) sur le client. à savoir

  • J'ai une table dans ma base de données appelée client qui a deux domaines: FirstName et LastName
  • (projet ASP.NET - côté serveur) EF a créé un appelé protocole de classe partielle correspondante qui possède deux propriétés: FirstName and LastName
  • (Projet ASP.NET - côté serveur) Dans un autre fichier, j'utilise le mécanisme de classe partielle pour définir une méthode (ou une propriété) pour renvoyer le prénom et le nom dans une chaîne, par exemple
    • fonction publique ReturnFullName() as String ...
    • propriété publique FullName() as String ...

est-il un moyen pour ReturnFullName() et FullName() à être généré sur le côté client (mon application Silverlight)? Ou dois-je également implémenter la méthode/propriété côté client?

Répondre

0

Créez un fichier .shared.cs ou .shared.vb avec une classe partielle de l'entité.

Par exemple:

Partial Public Class Persoon 
    Public Function GetFullName() As String 
     Return Me.Voornaam & " " & Me.Naam 
    End Function 
End Class 


public partial class Persoon 
{ 
    public string GetFullName() 
    { 
     return this.Voornaam + " " + this.Naam; 
    } 
} 

Il produira alors sur le côté client.

0

Les méthodes de vos objets Domaine côté serveur ne sont pas générées côté client. (L'une des raisons en est que vous pouvez évidemment utiliser les fonctionnalités .NET Framework dans ces méthodes qui ne sont pas disponibles dans Silverlight.) Les propriétés sont simplement copiées avec leur signature, en utilisant des variables de classe.

Une solution à ce problème consiste à avoir un fichier .cs partiel pour votre classe Customer où vous définissez ces méthodes et créez un lien vers ce fichier dans votre projet Silverlight. Bien sûr, vous ne pouvez utiliser que des bibliothèques dans les instructions using également disponibles dans Silverlight.