J'utilise le modèle de cadre d'entité pour interroger ma base de données et j'ai mis en quelques vues que je voudrais utiliser qui ont tous les mêmes paramètres de requête. Plutôt que d'écrire une grande liste d'instructions case-switch, je me demande comment faire cela par programmation en passant par l'objet view en tant que paramètre de ma méthode principale. Dans sql je ferais cela comme:Linq to Entity Framework Model - Comment faire pour basculer les vues par programme
public void Tables(string TableName)
{
using(EntityModel entity = new EntityModel()){
string sql = "select * from " + TableName;
etc....
}
Cependant, je ne peux pas voir comment faire une chose similaire avec le modèle-cadre de l'entité à savoir
public void Tables(Type TableName)
{
using(EntityModel entity = new EntityModel()){
ObjectQuery<Users> oq = new ObjectQuery<Users>("EntityModel.Users", EntityModel);
var q = (from p in oq select p);
}
C'est très bien si vous savez ce type de table Vous ne pouvez pas passer un type en tant que paramètre car ObjectQuery ne peut pas accepter les variables, typeof() ou tout élément non codé en dur. Quelqu'un at-il des idées si cela est possible?
Je suis presque peur de demander d'où viennent les ficelles. Si elles proviennent de l'extérieur de votre application (entrée de l'utilisateur?), Vous êtes mieux avec switch/case, pour des raisons de sécurité. –
Tout est interne, ne vous inquiétez pas! Il n'y a pas d'autre entrée de l'utilisateur que de sélectionner un menu déroulant de l'affichage qu'il souhaite voir –
S'il s'agit d'une application Web, ce type d'entrée utilisateur est toujours dangereux pour un utilisateur (car je peux utiliser Telnet sur le port 80 et parlez HTTP à votre serveur, cela dit, je vais tenter votre chance –