2

谁能帮我解决一个一般的实体框架问题?我是一个新手,并试图通过阅读和反复试验来自学。但是,我对所有语法和术语感到非常困惑。我搜索的越多,我就越困惑!

  1. 语法中使用的那些小箭头(=>)到底是什么?而且我什至不确定语法的名称是什么......它是实体框架语法吗?Linq 到方法语法?Linq to Entity 语法?

  2. 为什么在使用该语法时似乎可以使用随机字母?下面的“f”似乎可以与任何字母互换,因为无论我输入什么字母,Intellisense 都会给我选项。那么这封信到底应该代表什么?似乎没有声明它。

    var query = fruits.SelectMany(f => f.Split(' '));

  3. 使用带有小箭头的语法还是使用我一直看到的“psuedo SQL”更好,如下所示。这似乎更容易理解,但这是否被认为不是真正的实体框架方式?

    var query = from f in fruits from word in f.Split(' ') select word;

  4. 而且,对于他们中的任何一个 - 那里有任何文件吗?我一直在互联网上搜索教程、文章和任何东西,但所有返回的都是小示例查询,这些查询随小箭头或伪 SQL 的变化而变化,除了“这里是如何进行选择:”之外没有任何解释:

我将不胜感激任何指导或帮助。我想如果我能找到从哪里开始,那么我就可以从那里建立自己。谢谢!

4

2 回答 2

1

没有真正的实体方式,有 LINQ 和 LINQ 扩展方法,我认为这更清晰。此外,您不仅可以将 LINQ 与 EE 一起使用。

语言综合查询

LINQ 通过添加类似于 SQL 语句的查询表达式来扩展语言,可用于方便地从数组、可枚举类、XML 文档、关系数据库和第三方数据源中提取和处理数据。其他使用查询表达式作为可读组合任意计算的通用框架,包括构建事件处理程序2或 monadic 解析器。3

1 它被称为 lambda 表达式,它基本上是一种匿名方法。

探索 C# 中的 Lambda 表达式

2 你可以使用任何你想要的东西,单词或字母,任何是参数的有效名称,因为那是一个参数

3 我发现 LINQ 扩展方法更简洁,老实说,我最不想看到的是代码中的 SQL 之类的语句。

4 一个好的开始可以在这里找到

101 个 LINQ 示例

于 2013-06-12T22:51:04.957 回答
1

箭头称为 Lambda 运算符,用于创建 Lambda 表达式。这与 EF、Linq 或其他任何东西无关。这是 C# 的一个特性。EF 和 Linq 只是经常使用此功能,因为它对于编写查询非常有用。

Marco 提供了相关文档的链接。

Linq 是一个扩展方法库,主要对 IEnumerable 和 IQueryable 接口等类型进行操作,并为您提供了处理各种类型集合的强大功能。您可以使用两种格式编写 Linq 查询,即方法语法和查询语法。它们在功能上是相同的,但它们的用法通常取决于您使用哪一个的个人偏好(尽管我们中的许多人都使用这两者,这取决于它所使用的上下文......一个或另一个更容易使用)。

于 2013-06-13T01:11:31.113 回答