1
我想发送一个LINQ表(实体)作为函数的参数来在select {}中获取一个值。目的是基于表/实体的几个属性返回一个值,并且我不希望所有确定返回值的逻辑都在LINQ语句中。基本上,是否可以使用'value = GetValue(tbl)'这一行?你可以将LINQ表传递给一个函数吗?
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;
}
我遇到的问题不是调用任意函数,而是使用'table'调用任意函数。我希望将'table'作为'object'发送,而不是将所有属性作为参数发送给函数(或者像我之前提到的那样处理Linq语句中的逻辑)。 – user606934 2011-02-27 18:38:44
更正...看来我不能使用任意函数。感谢你的帮助,穆罕默德! – user606934 2011-02-28 15:56:04