2013-03-07 1 views
2

Я работаю над WCF, Entity Framework, Self track solution.ESQL не работает

У меня проблема с ESQL.

string cmd = "Select h.achAccId, p.patDOBirth, p.patGender from PatientEntities.AccBases as a, PatientEntities.AccHosps as h, PatientEntities.Patients as p Where h.achAccID = 57348 and p.patPatId = a.acbPatId and h.achAccId = a.acbAccId"; 


ObjectQuery<dbdatarecord>queryResult = null; 

using (PatientEntities db = new PatientEntities()) PatientEntities is ObjectContext 
{ 
    `queryResult = db.CreateQuery<dbdatarecord>(cmd);` 
} 

if ((queryResult != null) && (queryResult.Count() > 0)) 
{ 
    `...` 
} 

queryResult.Count() вызывает ошибку: «achAccID" не является членом типа „PatientModel.AccHosp“ в настоящее время загружены схемы»

я нашел под PatientModel.edmx файл под <EntityType Name="AccHosp"> есть <property Name="achAccID" Nullable="false" Type="int">

Так в чем же проблема?

+1

Любая редкая причина, по которой вам нужно использовать ESQL, а не Linq? – Pawel

+0

Я думаю, что имена чувствительны к регистру, поэтому 'h.achAccID', вероятно, должен быть' h.achAccId', как показано в конце предложения sql. –

+0

Я проверил это, это не проблема. – peter

ответ

0

У ESQL нет проблем. Информационный ресурс нуждается в обновлении. то есть. db.Refresh (RefreshMode.StoreWins, db.AccHosps);