7
votes

Query Dynamic Linq pour obtenir la valeur de champ de la base de données

est-il possible? XXX PRE>

ou P>

var x=(from o in db.table_Name where o.Id=PK_val select o.Field_Name).FirstOrDefault();


4 commentaires

Eh bien, si vous avez besoin de ce type de fonctionnalité, la première chose à l'esprit est une réflexion (mais pas à l'intérieur iquéryable): var tableItem = db.table_name.Où (p => p.id = pk_val) .firstambordfault (); var x = tableItem.gettype (). GetProperty (Nom de terrain) .gevalue (Tabeli Tem, Null);


Avez-vous envisagé d'utiliser le motif de référentiel?


@Arashjo non, pouvez-vous me montrer la voie, faire une réponse ??


user3540365, juste un instant plz


4 Réponses :


1
votes

Ce n'est pas vraiment possible avec l'entitéFramework en fait (autant que je sache). Si vous n'aviez besoin que du champ par son nom, vous auriez pu utiliser la solution proposée par @ den. Mais vous souhaitez spécifier le nom de la table aussi comme un paramètre. Je vous suggère donc d'utiliser une API SQL Standard Connector et de construire la chaîne de requête avec les paramètres que vous fournissez.

vérifier Ce lien pour l'utilisation de l'API de connecteur SQL standard.


0 commentaires

0
votes

Non, mais de cette manière xxx


3 commentaires

Je ne vais pas fonctionner, j'essaie de passer le natal_name et "champs_value" comme paramètre


Utilisez ensuite la requête, comme db.database.executesqlquery ou quelque chose comme ceci qui prend une chaîne (requête) en tant que paramètre.


Je crois que cette façon est possible, mais devinez que ce serait large, mais je veux voir le chemin.



9
votes

est-il possible ??

Oui, c'est.

Premièrement, certains aides: xxx

et maintenant votre fonction: xxx


0 commentaires

1
votes

J'ai eu cette question aussi, je sais que ce n'est pas exactement ce que vous voulez et que vous avez besoin d'écrire plus de code mais c'est beaucoup plus propre que ceux que vous souhaitez écrire. em>
Utiliser le motif de référentiel strong>
Pour chaque table, vous devriez avoir une classe de modèle et une classe de référentiel.
Considérez ce code (ce code de l'un de mes projets)
Ceci est mon tableau de commentaire (cela peut être n'importe quoi avec ou sans propriété de navigation)

 var context = new BabySitterContext();
 var  _commentRepository = new CommentRepository(context);
 var comment = _commentRepository.Get(x => x.PostId == id).FirstOrDefault();


0 commentaires