1

特定の患者のテーブルからすべての予定を取得する必要があります。これについては、次のように試しました。

public List<Appoinment> GetAppoinments()         //here Appointment is a class.
    {
        List<Appoinment> appointments = null;

        foreach (DataObject.Appointment appointment in
                   dataEntities.Appointments.Where(a => a.PATIENTID == PatientId))
        {

        }

        return appointments;
    }

私の予定のクラスとテーブルには、PatientId、doctorid、予定日などのフィールドがあります。

ここでは、foreachループ内で次のように試しました。

appointments.add(appointment);

そのソーイングエラーは、データベーステーブルの予定からクラスの予定に自動的に変換することはできません。

私はこれを行う方法がわかりません、誰かがここで私を助けることができます、事前に感謝します

4

4 に答える 4

3
public List<Appointment> GetAppointments()      
{
    return dataEntities.Appointments
                       .Where(a => a.PATIENTID == PatientId)
                       .Select(a => new OtherNamespace.Appointment 
                                    {
                                        Id = a.Id,
                                        Name = a.Name,
                                        // etc.
                                    })
                       .ToList();
}
于 2012-06-26T11:39:36.073 に答える
1

あなたは次のようなことをすることができます:

dataEntities.Appointments.Where(a => a.PATIENTID == PatientId)
  .Select (new Appoinment { ... set values from DB element });
于 2012-06-26T11:39:43.937 に答える
1

Data.AppointmentをYour.Appointmentに大声で変換します。

あなたはこのような何かをすることができます。

My.Appoint resultAppointment = new My.Appointment();
resultAppointment.Id = dataAppointment.Id

しかし、より良いアプローチは、データアポイントメントに予測を適用することです。生成されたSQLクエリは、必要なフィールドのみを取得します

public List<Appoinment> GetAppoinments()         //here Appointment is a class.
    {
        return dataEntities.Appointments.Where(a => a.PATIENTID == PatientId))
                                        .Select(a => new Appointment() { Prop1 = a.Prop1})
                                        .ToList();

    }
于 2012-06-26T11:40:53.957 に答える
1

上記の解決策に同意します。ただし、この種のマッピングコードを頻繁に作成する必要がある場合、つまり、あるオブジェクトのプロパティを別のオブジェクトにコピーするコードを作成する必要がある場合は、Automapperの使用を検討できます。

https://github.com/AutoMapper/AutoMapper

于 2012-06-26T11:43:32.753 に答える