Publié
lundi 23 août 2010 08:25
par
Audrey
Avec WCF RIA Services et les DomainServices, le fichier contenant les metadatas est généré à partir des entités choisies dans l'ADO.NET Entity Data Model. Mais si l'on souhaite y ajouter une propriété "FullAddress", par exemple, on se retrouve confronté à l'erreur suivante :
"The associated metadata type for type 'SharedInfos.Web.Customers' contains the following unknown properties or fields: FullAddress. Please make sure that the names of these members match the names of the properties on the main type."Pour compléter ces metadatas, il existe les classes Shared. Ce fichier avec l'extension .shared.cs (ou .shared.vb) permet de déclarer la classe partielle dans laquelle on souhaite ajouter les propriétés et/ ou les méthodes. Attention le nom du namespace doit bien être celui du projet Web.
namespace SharedInfos.Web
{
public partial class Customers
{
public string FullAddress
{
get
{
return Address + " " + PostalCode + " " + City;
}
}
}
}Lors de la compilation, le fichier sera répliqué à l'identique du côté client, ce qui permet de pouvoir accéder à la fois du côté serveur et du côté client aux nouvelles fonctionnalités de la classe Customers.

Et maintenant la propriété "FullAddress" de la classe Customers est accessible :

Ces fichiers sont aussi intéressant pour déclarer les méthodes qui vont permettre d'utiliser des CustomValidations dans nos metadatas par exemple (à suivre dans un prochain article

).
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :