0
我有一個通用的知識庫爲我的EF。它工作得很好。但是今天我發現我需要得到的結果不是完全匹配的,而應該像SQL的'LIKE'那樣獲取任何具有匹配後綴或列前綴的內容。現在它所做的是平等運營商。任何人都可以抽搐這個應該像LIKE而不是平等的代碼嗎?我不知道如何做到這一點,因爲我是新來的EF,只是從網上覆制它。以下是我的代碼。如果沒有任何建議?謝謝。通用EF知識庫
public IList<TEntity> SelectManyByColumnKeywordLike(string Key, string columnName)
{
// First we define the parameter that we are going to use the clause.
var xParam = Expression.Parameter(typeof(TEntity), typeof(TEntity).Name);
MemberExpression leftExpr = MemberExpression.Property(xParam, columnName);
Expression rightExpr = Expression.Constant(Key);
BinaryExpression binaryExpr = MemberExpression.Equal(leftExpr, rightExpr);
//Create Lambda Expression for the selection
Expression<Func<TEntity, bool>> lambdaExpr =
Expression.Lambda<Func<TEntity, bool>>(binaryExpr,
new ParameterExpression[] { xParam, });
//Searching ....
IList<TEntity> resultCollection = ((IADRRepository<TEntity, TContext>)this).SelectAll
(new Specification<TEntity>(lambdaExpr));
if (null != resultCollection && resultCollection.Count() > 0)
{
//return valid single result
return resultCollection;
}//end if
return null;
}