この質問は以前に尋ねられましたが、見つけられませんでした。 最終的にユーザーが決定するいくつかの基準に応じて、テーブル名のリストをフィルタリングしたいと考えています。以下は私の現在のコードです。複数の値でLinqフィルタが存在している場合と存在しない場合があります
private List<TableMetaData> tableMetaData = new List<TableMetaData>();
public class TableMetaData
{
public string TableName;
public string ReferenceTableName;
public bool IsAuditTable;
public bool IsSyncTable;
public bool IsView;
}
public List<string> GetTableNames(TableMetaData filterData)
{
List<string> filteredNames = tableMetaData
.Where(table => (table.IsAuditTable == filterData.IsAuditTable)
&& (table.IsSyncTable == filterData.IsSyncTable)
&& (table.IsView == filterData.IsView))
.Select(table => table.TableName).ToList();
return filteredNames;
}
私はまだフィルタリング操作でTableMetaData.TableNameとTableMetaData.ReferenceTableNameを含める必要があります。ただし、これらの値はNULLになる可能性があります。その場合、これらの値はフィルタで使用されません。私は、各条件ごとに別々のlinq文を書くよりも、これを行うより簡単な方法が必要であると思いますか?
ありがとうございます。
これは私のためにうまく動作します。私は、このソリューションは、andとorの組み合わせを使用するよりも読みやすいと思います。ありがとうございました。 – user1165224
@ user1165224喜んで助けました。 –