Запросы в Entity Framework для заполнения комбинированного списка внешнего ключа - PullRequest
0 голосов
/ 27 августа 2018

У меня есть ComboBox провинций:

public Form1()
{
    InitializeComponent();
    using (AbEntities c = new AbEntities())
    {
        comboBox1.DataSource = c.tbl_Province.ToList();
        comboBox1.ValueMember = "ID";
        comboBox1.DisplayMember = "Province";
    }
}

Теперь я хочу перечислить города для каждой провинции в другом поле со списком.

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (comboBox1.SelectedValue.ToString() != null)
    {
        int pvc = Convert.ToInt32(comboBox1.SelectedValue.ToString());
        string sqlString = "SELECT ID,City FROM tbl_City Where ProvinceID = pvc"

        using (AbEntities c = new AbEntities())
        {
            comboBox2.DataSource = c.tbl_City.ToList();
            comboBox2.ValueMember = "ID";
            comboBox2.DisplayMember = "City";
        }
    }
}

Я написал следующий запрос. Но города не фильтруются

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Я не вижу никакой фильтрации в вашем коде. Может быть, вы должны применить что-то вроде этого:

comboBox2.DataSource = c.tbl_City.Where(x=>x.ProvinceID == pvc).ToList();

Пояснение:

Свободная строка SQL-запроса в вашем коде не имеет приложения. Поскольку ваш пост помечен entity-framework, я предполагаю, что AbEntities это DataContext. В этом случае tbl_City реализует интерфейс IQueryable и позволяет вам вызывать Where непосредственно в вашем коде. В этом примере я использовал синтаксис метода. Вызов ToList() выполнит запрос и материализует результаты. Это также может быть выполнено с использованием синтаксиса запроса:

comboBox2.DataSource = (from   x in c.tbl_City
                        where  x.ProvinceID == pvc
                        select x).ToList();
0 голосов
/ 27 августа 2018

Вам нужно запросить свой DbSet, например ::100100

c.tbl_City.Where(c => c.ProvinceID == pvc).ToList();

Далее:

Нет никакой связи между оператором SQL и фильтром.

Возможно, вы захотите прочитать что-нибудь о linq ,

А вот еще об EF: http://www.entityframeworktutorial.net/querying-entity-graph-in-entity-framework.aspx

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