C# 实体框架 5 多对多查看数据

本文关键字:数据 框架 实体 | 更新日期: 2023-09-27 18:32:23

好的,所以我有我的客户表/实体。我还有一个医疗表/实体。因为我的客户可以有多个医疗记录,所以我创建了一个名为ClentMedial的解析表/实体,它由3个属性组成,ID,ClientID和MedicalID。

我已经弄清楚了在使用以下代码显式指定 ID 时如何创建 ClientMedical 记录:

    ClientMedical cm = new ClientMedical();
    var med = (from m in db.Medicals where m.Id == 1 select m).First();
    cm.Client = client;
    cm.Medical = med;
    client.ClientMedicals.Add(cm);
    db.SaveChanges();

但是,我不知道如何循环访问客户端 ClientMedical 集合以显示医疗状况(医疗实体具有条件属性)。我是实体框架的新手。我有一个客户表格,显示有关特定客户的所有信息,我想做的是能够显示/添加/删除特定客户的医疗状况。

我很抱歉,如果这有点模糊,我试图尽可能地解释它。

编辑:

能够像这样访问数据:

 IQueryable<Medical> med =
                from p in db.ClientMedicals
                where p.Client.Id == client.Id
                select p.Medical;
            foreach (Medical m in med)
            {
                MessageBox.Show(m.Condition);
            }

如果有人有更好的方法,请说。

C# 实体框架 5 多对多查看数据

您想要针对特定客户的所有医疗吗?

var client = db.Clients.Where(c=>c.ClientID == someID).Include("Medical").Single();

现在在客户中,列表医疗已经填充了该客户的医疗。