私はユーザーの入力に基づいてLinqクエリを作成しようとしています。 SQLを書く私は選択された値に基づいてSQLの選択文字列を構築することができますが、linqをSQLにする方法はわかりません。私はlinqをSQLクラスに使用しています。ここには何がありますか動的linqからSQLクエリへの構築
// Locals
TalentDBDataContext talentDB = new TalentDBDataContext()
int minAge = 0;
int maxAge = 120;
bool maleChecked = false;
bool femaleChecked = false;
List<string> ethnicities = new List<string>();
List<string> states = new List<string>();
var formData = Request.Form;
foreach (string key in formData.AllKeys)
{
string val = formData[key];
switch(key)
{
case "AgeMinTxBx":
minAge = Int32.Parse(val);
break;
case "AgeMaxTxBx":
maxAge = Int32.Parse(val);
break;
case "GenderMaleCB":
maleChecked = true;
break;
case "GenderFemaleCB":
femaleChecked = true;
break;
case "EthnicitySelector":
ethnicities = val.Split(new char[]{','}, StringSplitOptions.RemoveEmptyEntries).ToList();
break;
case "StateSelector":
states = val.Split(new char[]{','}, StringSplitOptions.RemoveEmptyEntries).ToList();
break;
default:
break;
}
}
var results =
from t in talentDB.Talent
(femaleChecked == true) ? where t. // I don't thing this will work..
これを行う方法はありますか?これが理にかなってほしい。私はintellisense linqが提供し、エラーチェックも好きです。おそらく、まだ、正規のSQLの選択文字列を書く方法があり、私はこの状況でそれを行うことができます。ありがとう
あなたのクエリを(おそらくSQLのように)見せたいですか?また、私はforeachスイッチの構築が少し怖いことがわかります。 'minAge = int.Parse(formData [" AgeMinTxBx "]);'ステートメント? – Steven