Est-il possible de combiner Linq-to-SQL et Linq-to-XML si une colonne d'une table est XML?Combinaison de Linq-to-SQL et Linq-to-XML
Répondre
Si par "combiner" vous voulez dire « avoir LINQ to SQL traduire la requête dans une réelle Requête SQL Server XML "alors je crois que la réponse est non. Mais rien ne vous empêche de retirer les données XML et d'exécuter une requête XML locale.
Pour répondre à la question plus générale de "comment travailler avec une colonne XML dans ce scénario", la meilleure approche serait de créer une fonction définie par l'utilisateur pour gérer le XML, si vous le pouvez. Ensuite, vous pouvez obtenir Linq to SQL pour exécuter le fichier UDF. A défaut, je suivrai la procédure de procédure stockée.
En effet, mais ensuite je reçois un débordement de mémoire car de nombreux enregistrements sont renvoyés. –
Ouch. Voir mon édition - j'espère qu'un UDF ou SP peut travailler pour vous ici. – Aaronaught
En effet, une procédure stockée serait ma prochaine pensée. –
Oui c'est certainement possible. Vous pouvez combiner n'importe quel nombre de sources IEnumerable dans une seule requête. Par exemple, voici un article montrant comment vous pouvez combiner L2S avec LINQ to Excel:
http://blogs.msdn.com/ericwhite/archive/2008/12/03/joining-linq-to-sql-and-linq-to-excel.aspx
Randy
Oui, il est très possible ici est un exemple de Linq Pro par Joeseph Rattz:
using (NorthwindDataContext DB = new NorthwindDataContext())
{
string StatesXml =
@"<States>
<State ID=""OR"" Description=""Oregon"" />
<State ID=""WA"" Description=""Washington"" />
<State ID=""CA"" Description=""California"" />
<State ID=""ID"" Description=""Idaho"" />
<State ID=""MT"" Description=""Montana"" />
<State ID=""NM"" Description=""New Mexico"" />
</States>";
XElement States = XElement.Parse(StatesXml);
var Custs = (from c in DB.Customers
where c.Country == "USA"
select c).AsEnumerable().Join(
States.Elements("State"),
c => c.Region,
s => (string)s.Attribute("ID"),
(c, s) => new
{
Customer = c,
State = (string)s.Attribute("Description")
});
foreach (var Cust in Custs)
{
Console.WriteLine("Customer = {0} : {1} : {2}",
Cust.Customer.CompanyName,
Cust.Customer.Region,
Cust.State);
}
Et voici ce qui génèrerait:
Grands Lacs Marché alimentaire: OR: Oregon
Hungry Coyote Importateur Magasin: OU: Oregon
Lazy K Kountry Succursale: WA: Washington
Let Stop N Shop: CA: Californie
Lonesome Pine Restaurant: OR: Oregon
Rattlesnake Canyon épicerie: Nouveau-Mexique: Nouveau-Mexique
Save-a-lot Marchés: ID: Idaho
The Big Cheese: OR: Oregon
Le Cracker Box: MT: Montana
Trail de Chef Gourmet Provisioners: WA: Washington
Trèfle blanc Marchés: WA: Washington
- 1. LinqToXml vs LinqToSql
- 2. La combinaison LinqToSql requêtes
- 3. LinqToXML XElement à XMLnode
- 4. LinqToSql et WCF
- 5. nullables énumérations (??) et LinqToSQL
- 6. Regroupement et compte avec LinqToSQL
- 7. LinqToSql et le DataContext 101
- 8. liste de lecture intérieure uniquement avec LinqToXml
- 9. LinqToSql - Parallèle - DataContext et Parallèle
- 10. Combinaison d'EditText et de Button?
- 11. combinaison de couverture et profileur?
- 12. LINQtoSQL, modèle de référentiel et chargement paresseux
- 13. Combinaison ClickThrough et SEO
- 14. Permutation et combinaison
- 15. ET EN combinaison LIKE
- 16. LinqtoXML analyse syntaxique contenu RSS: codé
- 17. Combinaison de phpdoc et de docbook existant
- 18. Combinaison de foreach et utilisation de
- 19. Combinaison de Java et de SQL?
- 20. Combinaison de cookies et de sessions
- 21. Combinaison de session et de cache
- 22. LinqToSql et la procédure stockée question
- 23. filtre LinqToSql et l'ordre par la syntaxe
- 24. Aide SelecList asp.net mvc, Html.DropDownList et LinqToSql
- 25. LinqToSQL Select et SelectMany vs Join
- 26. Combinaison SQL Union et Except
- 27. tmpfile et combinaison gzip problème
- 28. Combinaison C++ et Objective-C
- 29. Application iPhone - combinaison de UINavigationController et UITabBarController
- 30. Combinaison de fichiers .h et .m
Que voulez-vous dire par "combiner"? –
Linq à SQxML? :) –
Je veux dire faire une requête sql en utilisant xpath avec linq to sql en utilisant linq to xml dedans. –