2010-05-01 64 views
0

我有以下IQueryable的方法來顯示一個SINGL材料的細節,Linq-to-sql連接中的Where條件是否正確?

public IQueryable<Materials> GetMaterial(int id) 
{ 
    return from m in db.Materials 
      join Mt in db.MeasurementTypes on m.MeasurementTypeId equals Mt.Id 
      where m.Mat_id equals id 
      select new Materials() 
      { 
       Id = Convert.ToInt64(m.Mat_id), 
       Mat_Name = m.Mat_Name, 
       Mes_Name = Mt.Name, 
      }; 
} 

任何建議....

+0

那麼它看起來對我來說合理沒問題(雖然它會幫助你如果你的套中一致) - 我唯一直接關心的是Convert.ToInt64 ...爲什麼你的Materials類使用不同的ID類型? *你爲什麼擔心?它不起作用嗎?如果沒有,以什麼方式*不起作用? – 2010-05-01 07:27:00

回答

0

where條款應是一個布爾表達式,像這樣:

where m.Mat_id == id 

您使用關鍵字equals進行連接,但where子句應該使用布爾表達式,可以這樣想:無論在where something它應該如何k好像它在if(something)

相關問題