如何根据“ table_1”中的选定条目过滤“ table_2”?

时间:2019-02-21 19:56:39

标签: c# sql-server winforms entity-framework

我正在使用:

  • 实体框架v6.2.0
  • SQL Server 2012

我有这些表:

  • tbl_01_Groups;
  • tbl_02_学生;
  • tbl_03_GroupsStud;
    tbl_01_Groups表显示在dataGridView1中。一个学生可以分成几组。

要解决此问题,我怀疑有必要建立关系表tbl_03_GroupsStud

问题::如何使dataGridView2显示table_2条记录,这些记录属于dataGridView1中选定的组?

table_2的要求:

  1. table_2应包含以下字段:

    • [tbl_02_Students]。[NameStud];
    • [tbl_02_Students]。[属性_1];
    • [tbl_01_Groups]。[nameGroup];
    • ...根据需要的其他列
  2. 如果在table_2记录中进行了更改,则这些更改将显示在原始源中;

  3. 如果将条目添加到table_2,则该条目将显示在源中;
  4. 计划将
  5. Table_2用于另一个查询。

如何使table_2满足以上要求?

我的代码:

ContextDB cntxtDB;

public Frm1UC()
{
    InitializeComponent();

    cntxtDB = new ContextDB();
}

private void Frm1UC_Load(object sender, EventArgs e)
{
    Fill_dataGridView1();
}

public void Fill_dataGridView1()
{
    try
    {
        cntxtDB.tbl_01_Groups.Load();
        bs_Grid1.DataSource = cntxtDB.tbl_01_Groups.Local.ToBindingList();
        dataGridView1.DataSource = bs_Grid1;
    }
    catch (Exception ex)
    {
        string s = ex.Message;
        string t = ex.StackTrace;
        // throw;
        MessageBox.Show(s);
    }
}

tbl_01_Groups

enter image description here

tbl_02_Students

enter image description here

tbl_03_GroupsStud

enter image description here

dataGridView1, dataGridView2

enter image description here

更新_1
就像我设法借助MSAccess中的查询一样:
请求req_GroupsStud_Stud

SELECT tbl_03_GroupsStud.*, tbl_02_Students.NameStud
FROM tbl_03_GroupsStud 
INNER JOIN tbl_02_Students 
ON tbl_03_GroupsStud.id_stud = tbl_02_Students.id_stud;

请求req_GroupsStud_CurGroup

SELECT req_GroupsStud_Stud.*, req_GroupsStud_Stud.id_group
FROM req_GroupsStud_Stud
WHERE (((req_GroupsStud_Stud.id_group)=[Forms]![frm_00_00_MainForm]![id_group_Frm]));

在表单中,使用表达式[Forms]![Frm_00_00_MainForm]![Id_group_Frm],将参数[id_group_Frm]传递给请求。

我不明白如何使用实体框架和MS SQL Serever做同样的事情。

0 个答案:

没有答案