2011-06-27 22 views
1

我在EF和Linq很新。在Linq語法中將方法語法轉換爲相應的版本

請幫我把這個方法語法查詢轉換成一個Linq。

方法使用EF從我的DataBase中檢索單個標量變量的語法。

string myCategoryTitle = context.CmsCategories.SingleOrDefault(x => x.CategoryId == rowView.CategoryId).Title; 

Title在我的模型中提出了一個合適的/字段。

任何想法如何使用Linq語法來做到這一點?

感謝您的幫助!

回答

6

我假設你的意思是使用查詢表達式......在這種情況下,你不能。 SingleOrDefault沒有查詢表達式語法。

你可以儘管使用:

string myCategoryTitle = (from x in context.CmsCategories 
          where x.CategoryId == rowView.CategoryId 
          select x.Title).SingleOrDefault(); 

請注意,這不是相當同爲當前的代碼,這將拋出一個NullReferenceException如果SingleOrDefault(...)返回空...

+0

感謝喬恩爲您的及時答覆。我還是有點困惑,在你的示例中....所以你使用「查詢表達式」語法?如果不是,你會如何調用這個語法?我無法理解我可以查詢EF的各種方式。再次感謝你的幫助! :-) – GibboK

+1

@GibboK:是的,「from ... where ... select」是查詢表達式語法。但是你應該知道如何只用擴展方法來使用LINQ。 –

+0

好極了!再次感謝! – GibboK

相關問題