私は何か助けていただければ幸いです。ラムダ式の文字列を比較する方法
背景 - 文字列(つまり、StackOverFlow)を保持するデータベースがあり、渡された値をその文字列と比較して大文字と小文字を区別する必要があります。
今私は(EF 4を使用)、データベースへの接続、(Iテーブルにアクセスするために使用)IRepo<T>
インターフェースとIQueryable<table>
を返し、Expression<Func<tableName, bool>> expression
パラメータを取り込むFindAllMatching
方法を有しています。
レポクラス:
public class TableRepo : IRepo<table>{
private EF4Entity _dc = new EF4Entity();
public IQueryable<table> FindAllMatching(Expression<Func<table, bool>> expression)
{
return _dc.table.Where(expression);
}
}
呼び出すコード:私は反対に、stackoverflowの(あらゆる方法でなく、場合には、テーブルにあるものと一致する文字列を渡し今
public class CallingClass
{
public void CallingMethod(string enteredStringFromTextBoxOnFrontEnd)
{
var tableDB = new TableRepo();
var returnValue = tableDB.FindAllMatching(x => x.ColumnInTableThatHoldsString.CompareTo(enteredStringFromTextBoxOnFrontEnd) ==0);
}
}
、 StackOverFlowに)returnValue
実際にテーブルから行を返します。渡された値がデータベーステーブルに含まれている値と正確に一致しない場合は、nullまたはゼロのカウントを返します。
私は.Equals(enteredStringFromTextBoxOnFrontEnd, StringComparison.OrdinalIgnoreCase)
と他のすべてのStringComparison
値を試してみましたが、何も比較しません。
さらに詳しい情報が必要な場合は、お気軽にお問い合わせください。
は、私はあなたがこれはあなたのコードではなく、データベースとの問題ではないことを見つけると思います
ティム