将方法语法转换为Linq语法中的相应版本

时间:2011-06-27 09:39:20

标签: c# .net linq entity-framework linq-to-entities

我在EF和Linq都很新。

请帮我将此方法语法查询转换为Linq。

Method语法使用EF从我的DataBase中检索单个标量变量。

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

Title在我的模型中表达了一个礼仪/领域。

知道如何使用Linq语法进行操作吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

我认为你的意思是使用查询表达式...在这种情况下,你不能。 SingleOrDefault没有查询表达式语法。

你可以使用它:

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

请注意,这与完全相同与当前代码相同,如果NullReferenceException返回null,则会抛出SingleOrDefault(...) ...