62,046
社区成员
发帖
与我相关
我的任务
分享
SELECT *
FROM [D8Mall_db].[dbo].[pro_sku]
where [pro_sku_arrspe] like '%国内组装%'or [pro_sku_arrspe] like '%黑晶%'
or [pro_sku_arrspe] like '%13%'
or [pro_sku_arrspe] like '%19%'
or [pro_sku_arrspe] like '%测试%'
GO
var result = from s in pro_sku
where s.pro_sku_arrspe.Contains("国内组装")
|| s.pro_sku_arrspe.Contains("黑晶")
|| s.pro_sku_arrspe.Contains("13")
|| s.pro_sku_arrspe.Contains("19")
|| s.pro_sku_arrspe.Contains("测试")
select s;
/// <summary>
/// 输出拼接字符串
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="options"></param>
/// <param name="fieldName"></param>
/// <returns></returns>
public static Expression<Func<T, bool>> GetConditionExpression<T>(string[] options, string fieldName)
{
ParameterExpression left = Expression.Parameter(typeof(T), "c");//c=>
Expression expression = Expression.Constant(true);
foreach (var optionName in options)
{
Expression right = Expression.Call
(
Expression.Property(left, typeof(T).GetProperty(fieldName)), //c.DataSourceName
typeof(string).GetMethod("Contains", new Type[] { typeof(string) }),// 反射使用.Contains()方法
Expression.Constant(optionName) // .Contains(optionName)
);
expression = Expression.And(right, expression);//c.DataSourceName.contain("") || c.DataSourceName.contain("")
}
Expression<Func<T, bool>> finalExpression
= Expression.Lambda<Func<T, bool>>(expression, new ParameterExpression[] { left });
return finalExpression;
}
var q = pl.Where(x => x.pro_sku_arrspe.Contains("黑晶")
|| x.pro_sku_arrspe.Contains("国内组装")
|| x.pro_sku_arrspe.Contains("13")
|| x.pro_sku_arrspe.Contains("19")
|| x.pro_sku_arrspe.Contains("测试"));
string[] str = { "黑晶", "国内组装", "13", "19", "测试" };
var q=pl.Where(x=>str.Contains(x.pro_sku_arrspe));