построение динамических запросов linq to sql - PullRequest
1 голос
/ 23 ноября 2010

Я пытаюсь создать запрос Linq на основе ввода пользователя.Написание sql Я мог бы построить строку выбора sql на основе выбранных значений, но с linq to 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, и я мог бы сделать это в этой ситуации.спасибо

1 Ответ

0 голосов
/ 23 ноября 2010

Вы можете использовать метод ExecuteQuery для непосредственного выполнения SQL-запроса к этой базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...