2010-12-06 41 views
3

La méthode suivante dans ma mise en œuvre de WCF:Comment renvoyer une entité LINQ to SQL Table à partir d'un service WCF?

public Campaign GetCampaignByDisplayName(String displayName) 

Campaign est une table dans ma base de données SQL Server, mon application client lance une exception lorsque la méthode renvoie ci-dessus. D'autres articles connexes, j'ai lu que le problème a probablement à voir avec Campaign n'étant pas sérialisable. Aller dans le fichier source du concepteur de base de données généré, et en ignorant dûment l'avertissement "Modifications à ce fichier peuvent provoquer un comportement incorrect ..." J'ajoute l'attribut [Serializable] à la classe Campaign, résultant en un fichier Proxy non compilable une fois qu'il est régénéré.

De toute évidence, il me manque un concept critique ici. Que dois-je faire pour pouvoir passer un enregistrement LINQ to SQL de cette manière?

Répondre

3

Marquez la classe Campaign avec DataContractAtribute.
Marquez les membres que vous souhaitez passer via le service Web avec le DataMemberAttribute.

Il y a une amorce décent sur MSDN - http://msdn.microsoft.com/en-us/library/ms733127.aspx

+0

Merci. Je lis aussi ceci du blog de Scott Gu: http://codeexperiment.com/post/Returning-LINQ-to-SQL-Entities-From-WCF.aspx que j'ai trouvé en collant le titre de ma question dans Google. Leçon renforcée: choisissez les titres pour vos questions avec soin! –

+0

Mon erreur: c'est le blog de Scott Lanford. –