我知道有人问过有关返回匿名对象类型的类似问题。但是我的看上去有些不同,因为我只想基于传递的患者对象将数据加载到datagridview中。但是到目前为止,我所进行的查询返回的数据不会基于所传递的患者而加载。但是所有其他数据都运行良好。 我创建了一个数据传输对象(DTo),该对象根据我编写的查询携带一些数据。因为我只需要返回一些选定的列。下面是我的DTo类
public class CaseNoteDto
{
//public patient Id { get; set; }
public string CategoryName { get; set; }
public string CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
}
这是我在查询中使用DTo加载要返回的一些数据的地方。
private IQueryable<CaseNoteDto> LoadCaseNoteBaseOnPatientId(patient patient)
{
var patientCaseNote =
from c in dbHelper.casenotes
join u in dbHelper.users on c.creator_id equals u.user_id
join cat in dbHelper.categories on c.category_id equals cat.category_id
where patient.patient_id == _currentPatient.patient_id
//where _currentPatient.patient_id == patient.patient_id
select new CaseNoteDto
{
//Id = patient,
CreatedBy = u.firstname,
CategoryName = cat.name,
// CreatedAt = Convert.ToDateTime(c.created_at)
};
return patientCaseNote;
}
在这里,我将其加载到datagridview对象并传递currentPatient obj。
private void PatientMasterData_Load(object sender, EventArgs e)
{
var data = LoadCaseNoteBaseOnPatientId(_currentPatient);
dataGridView1.DataSource = data.ToList();
}
任何帮助都会告诉我我哪里做错了。因为我只希望基于传递的患者obj加载返回的数据。