Je veux envoyer une table LINQ (entité) en tant que paramètre à une fonction pour obtenir une valeur dans la sélection {}. Le but est de retourner une valeur basée sur plusieurs propriétés de la table/entité, et je ne veux pas que toute la logique qui détermine la valeur de retour soit dans l'instruction LINQ. Fondamentalement, la ligne 'value = GetValue (tbl)' est-elle possible?Pouvez-vous passer une table LINQ à une fonction?
Public class MyClass
{
public int value { get; set; }
}
//Some General function to determine return value from multiple properties
Private int GetValue(MyEntity cls)
{
if (cls.var1 == 1)
return var2;
if (cls.var1 == 2)
return cls.var2 - cls.var3;
return -1;
}
Public List<MyClass> GetStuff(int iType)
{
List<MyClass> myClass = (from tbl in context.MyEntity
where tbl.MyType == iType
select new MyClass
{
value = GetValue(tbl)
}).ToList<MyClass>();
return myClass;
}
Le problème que je suis en cours d'exécution en est de ne pas appeler une fonction arbitraire, il est d'appeler la fonction arbitraire avec une « table ». Mon espoir était d'envoyer la « table » comme un « objet » au lieu d'envoyer toutes les propriétés en tant que paramètres à la fonction (ou la manipulation de la logique dans la déclaration LINQ comme je l'ai mentionné précédemment). – user606934
correction ... il semble que je ne peux pas utiliser une fonction arbitraire. merci pour l'aide, Mohammed! – user606934