日期:2014-05-20 浏览次数:21119 次
// 我猜你是想让where条件自己用字符串拼出来
// 那样不行
// 曾经有多少新手想让C#有JavaScript的Eval()那样的功能
object  GetProduct(delegate(product) dl)
{
        var   northwind   =   new   NorthwindDataContext();
        IEnumable<product> products;
        if(dl!=null)
          products   =   northwind.product.where(p=>p.productid>0);
        else
          products   =   northwind.product.where(dl);
}
------解决方案--------------------
简单的例子:
void GetProduct <T>(Func<T,bool> predicate)  
{  
           var   northwind   =   new   NorthwindDataContext();   //NorthwindDataContext   是上下文,为dbml文件  
           var   products   =   (from   p   in   northwind.product  
           select   p).Where(predicate);
}  
调用:
GetProduct<Product>(p=>p.ProductID > 0);