显示另一个表的值

时间:2014-03-25 12:12:25

标签: c# model-view-controller

我有一个包含两个表的数据库。 第一个表包含第二个表中的外键。 在我的MVC项目中,我想显示值(存储在第二个表中) 只有第一张表中的ID ..

在SSMS中,我可以通过连接来完成此操作。但是我如何在c#中做到这一点?

rec.Title = item.Title + " - " + item.AppointmentLength.ToString() + " mins" + " BehandlingsID " + ***item.BehandlingarId***;

//

item.BehandlingarId 包含我想要更改为相应值的ID。

这是我的两个标签:

public class AppointmentDiary
    {
        public int ID { get; set; }     

        public DateTime DateTimeScheduled { get; set; }

        public Behandlingar Behandling { get; set; }

        public int? BehandlingarId { get; set; }
    }


public class Behandlingar
    {
        public int BehandlingarId { get; set; }
        public string Namn { get; set; }
        public int Pris { get; set; }
        public int Tid { get; set; }
    }



List<DiaryEvent> result = new List<DiaryEvent>();
                foreach (var item in rslt)
                {
                    DiaryEvent rec = new DiaryEvent();                      
                    rec.EndDateString = item.DateTimeScheduled.AddMinutes(item.AppointmentLength).ToString("s");
                    rec.Title = item.Title + " - " + item.AppointmentLength.ToString() + " mins" + " BehandlingsID " + item.BehandlingarId;

                }

1 个答案:

答案 0 :(得分:1)

你期待这样的事吗?

var result=AppointmentDiary.Where(i=>i.BehandlingarId==BehandlingarId).ToList;

这将为您提供与BehandlingarId表格中的AppointmentDiary匹配的记录

编辑:

如果你想要相反的方式。

如果DB是您的datacontext

var result=DB.Behandlingar.Where(i=>i.BehandlingarId == BehandlingarId).FirstorDefault().Nam;

注意:此处的BehandlingarId是来自AppointmentDiary的外键。

假设你想要访问nam的BehandlingarId = 1然后

var result=DB.Behandlingar.Where(i=>i.BehandlingarId == 1).FirstorDefault().Nam;

将为您提供与BehandlingarId==1表格中的Behandlingar匹配的第一条记录

您可以将此代码段放在要访问nam

的任何位置

希望这会有所帮助。