是否可以使用ServiceStack连接两个以上的表?我尝试过这样的方法,但我需要链接到每件事:
// Join PatientDetails and BedDetails
SqlExpression<PatientDetails.PatientDetails> q = _dbConnection.From<PatientDetails.PatientDetails>();
q.Join<PatientDetails.PatientDetails, BedDetails.BedDetails>((patient, bed) => patient.ByBedId == bed.BedDetailsId);
List<PatientDetails.PatientDetails> PatientBedJOIN = _dbConnection.Select(q);
// Join PatientSession and PatientDetails
SqlExpression<PatientSession> q1 = _dbConnection.From<PatientSession>();
q1.Join<PatientSession, PatientDetails.PatientDetails>((session, patientd) => session.ByPatientId == patientd.PatientDetailsId);
List<PatientSession> SessionPatientJOIN = _dbConnection.Select(q1);我用的是OrmLite和Sqlite,谢谢
发布于 2014-10-25 23:57:47
OrmLite的高级连接示例展示了如何继续向同一个查询添加联接,例如:
List<FullCustomerInfo> rows = db.Select<FullCustomerInfo>( // Map results to FullCustomerInfo POCO
db.From<Customer>() // Create typed Customer SqlExpression
.LeftJoin<CustomerAddress>() // Implicit left join with base table
.Join<Customer, Order>((c,o) => c.Id == o.CustomerId) // Explicit join and condition
.Where(c => c.Name == "Customer 1") // Implicit condition on base table
.And<Order>(o => o.Cost < 2) // Explicit condition on joined Table
.Or<Customer,Order>((c,o) => c.Name == o.LineItem)); // Explicit condition with joined Tables在您的示例中,如下所示:
var q = _dbConnection.From<PatientDetails.PatientDetails>()
.Join<PatientDetails.PatientDetails, BedDetails.BedDetails>(
(patient, bed) => patient.ByBedId == bed.BedDetailsId)
.Join<PatientDetails.PatientDetails, PatientSession>(
(patientd, session) => session.ByPatientId == patientd.PatientDetailsId);
var SessionPatientJOIN = _dbConnection.Select(q);https://stackoverflow.com/questions/26565023
复制相似问题