結果のフィルタリングに使用される文字列のリストから始めましょう。
List<String> RadioNames = new List<String>();
RadioNames.AddRange(new String[] { "abc", "123", "cba", "321" });
に基づいてLINQtoSQLデータベーステーブルをフィルタリングできるようにしたいのですRadioNames
が、キャッチはRadioNames
部分一致になりたいということです(つまり、123だけでなくRadio123もキャッチします)。
フィルタリングする必要のあるソースは次のとおりです。
var ChannelGrants = from cg in sddc.ChannelGrants
select new
{
cg.ID,
cg.Timestamp,
cg.RadioID,
cg.Radio
};
したがって、以下のようなことを実行する必要があります(ChannelGrants
これは条件付き検索であるため、元の結果の外で)
if(RadioNamesToSearch != null)
{
List<String> RadioNames = new List<String>();
// Here I split all the radio names from RadioNamesToSearch based on a command separator and then populate RadioNames with the results
ChannelGrants = from cg in ChannelGrants
where ???
select cg;
}
私はどこで助けが必要ですか?上記のコードにあります(または、ChannelGrants = ...
すべて一緒に無効な場合)。上記を繰り返して、ChannelGrants
一致を返すためにフィルタリングする必要がありRadioNames
ますが、部分一致を実行します(つまり、123だけでなくRadio123もキャッチします)。
すべてのコードは、そのようなメソッドに含まれています...
public static DataTable getBrowseChannelGrants(int Count = 300, String StartDate = null, String StartTime = null, String EndDate = null, String EndTime = null, String RadioIDs = null, String RadioNamesToSearch = null, String TalkgroupIDs = null, String TalkgroupNames = null, bool SortAsc = false)