如何从数据库中获取与特定记录关联的数字?

时间:2014-02-22 20:52:48

标签: database linq

如何从数据库中获取与特定记录关联的数字?

我想要的是获取部门ID的单个号码,我已尝试

 var course = from c in db.Courses where c.Title == courseTitle[indiciesOfSelectedCourses[sc]] select c.DepartmentID;

然后我尝试了这样的事情:

 int inn =Convert.ToInt32(course.FirstOrDefault());

也试过其他方法,但总有一个Linq错误。如何在此调用中仅获取与特定课程标题相关联的唯一编号?

1 个答案:

答案 0 :(得分:1)

您的查询会返回符合条件的所有课程的部门ID。您可以选择FirstOrDefault id

 var id = (from c in db.Courses 
           where c.Title == courseTitle[indiciesOfSelectedCourses[sc]] 
           select c.DepartmentID).FirstOrDefault();

或者更好地选择第一个或默认课程,然后在课程不为空时获取id

 var title = courseTitle[indiciesOfSelectedCourses[sc]];
 var course = db.Courses.FirstOrDefault(c => c.Title == title);

 if (course != null)
 {
     var id = course.DepartmentID;
     // ...
 }

或者,如果可以有许多匹配课程,那么您可以枚举结果:

 var ids = from c in db.Courses 
           where c.Title == courseTitle[indiciesOfSelectedCourses[sc]] 
           select c.DepartmentID;

 foreach(var id in ids)
    // ...