【问题标题】:Convert a Method Syntax to its corresponding version in Linq Syntax将方法语法转换为 Linq 语法中的对应版本
【发布时间】:2011-06-27 09:39:19
【问题描述】:

我是 EF 和 Linq 的新手。

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

使用 EF 从我的数据库中检索单个标量变量的方法语法。

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

Title rap 在我的模型中表示一个属性/字段。

知道如何使用 Linq 语法吗?

感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:

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

    你可以使用这个:

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

    请注意,这与当前代码完全不同,如果SingleOrDefault(...) 返回 null...

    【讨论】:

    • 感谢 Jon 的及时回复。在您的示例中,我仍然有些困惑....那么您是否使用了“查询表达式”语法?如果不是,您将如何称呼这种语法?我无法理解查询 EF 的各种方式。再次感谢您的帮助! :-)
    • @GibboK:是的,“from ... where ... select”是查询表达式语法。但是您应该知道如何仅通过扩展方法使用 LINQ。
    猜你喜欢
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多