我有以下LINQ查詢,我需要轉化爲實體SQL/ESQL):實體框架(3.5):如何將某個LINQ查詢轉換爲eSQL?
return (ObjectQuery<User>) from user in Users
where !user.Roles.Any(r => r.AnIntegerProperty < 0)
select user;
User.Roles是一個導航屬性的多對多關係到角色同時還有一個Role.Users導航屬性相反。模型中沒有可用的User_Roles或Roles_User實體,並且我無法添加這些實體。
我也不能在這裏使用LINQ語句,因爲我需要添加.OrderBy(「it。」+ propertyname)(來自另一個來源,不能改變它)以後不可能如果ObjectQuery是用linq構建的。
那麼如何將其轉換爲eSQL?我在哪裏可以找到好的eSQL樣本?我搜索了整整一天直到現在,並且必須承認eSQL引用是糟糕的,網絡上沒有任何有用的例子。
我不明白,「我也不能使用這裏的LINQ語句,因爲我需要添加.OrderBy(「it。」+ propertyname)「。 QueryBuilder方法(例如,'OrderBy(「it。」+ ...'你建議)與LINQ一起工作良好,只需將'IQueryable''投入'ObjectQuery '並去。 –
2010-03-17 14:24:06
我試過了,但是在運行時我得到這樣的錯誤:「查詢生成器方法不支持LINQ to Entities查詢。」 – 2010-03-17 15:15:04
您必須先執行QB部分 – 2010-03-18 14:01:43