ici est mon scénario je suisrelations linq2sql et problème de sérialisation WCF
Tableau 1
- id
- Nom
Tableau2
- id
- famille
- fid
avec un à plusieurs relations situé entre Table1. id et Table2.fid
Voici mon WCF code de service
[OperationContract]
public List<Table1> GetCustomers(string numberToFetch)
{
using (DataClassesDataContext context = new DataClassesDataContext())
{
return context.Table1s.Take(int.Parse(numberToFetch)).ToList();
}
}
et ma page ASPX code
<body xmlns:sys="javascript:Sys"
xmlns:dataview="javascript:Sys.UI.DataView">
<div id="CustomerView"
class="sys-template"
sys:attach="dataview"
dataview:autofetch="true"
dataview:dataprovider="Service2.svc"
dataview:fetchParameters="{{ {numberToFetch: 2} }}"
dataview:fetchoperation="GetCustomers">
<ul>
<li>{{family}}</li>
</ul>
</div>
si je définir le mode de sérialisation à unidirectionnelles dans le concepteur Linq2Sql je ne suis pas en mesure de obtenir la valeur de la famille et tout ce que je reçois est-ce dans firebug
{"d":[{"__type":"Table1:#","id":1,"name":"asd"},{"__type":"Table1:#","id":2,"name":"wewe"}]}
toute aide serait tout à fait apprécié
merci beaucoup pour la réponse, je peux me tromper, mais avec Linq2sql mapping table2 est une propriété de table1 donc il n'y a pas besoin de rejoindre et je peux y accéder comme Table1.Table2, corrigez-moi si je me trompe s'il vous plaît. – DevMania
@devmania: oui, vous pourriez - mais cela ne signifie pas qu'il est sérialisé au client. Lorsque vous sélectionnez * uniquement * dans la Table1, Linq-to-SQL n'inclut pas non plus toutes les propriétés Table2. Si vous voulez, vous devez le demander. Mais vous avez raison - vous pourriez écrire: 'Table2Family = t1.Table2.Family »comme la dernière ligne dans l'instruction select dans LINQ –
bro merci beaucoup pour votre réponse détaillée, mais le fait est que je crée un système enfichable, donc je veux juste prendre les nouvelles tables enfant sans rééditer mon WCF code, donc dataoption ne fonctionnera pas parce que je dois rééditer chaque fois que j'ajoute un nouveau plugin, cela me rend vraiment fou – DevMania