2013-06-12 70 views
2

任何人都可以请帮助我一般的实体框架问题吗?我是一个新手,并试图通过阅读和试用&错误来教导自己。不过,我对所有的语法和术语都很困惑。而我谷歌越多,我越困惑!

初学者的实体框架语法

  1. 在世界什么是用于在语法那些小箭头(=>)?而且我甚至不知道该语法的名称是...是Entity Framework语法吗? Linq的方法语法? Linq的实体语法?

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

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

  3. 是更好地使用语法与小箭头或使用“伪SQL”我一直看到,像下面。这似乎更容易理解,但是这被认为不是真正的实体框架方式吗?

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

  4. 而且,对于任何人 - 没有任何文档出在哪里有?我一直在网上搜索教程,文章,任何东西,但是所有返回的结果都是小样本查询,随着小箭头或伪数据的变化而变化,除了“以下是如何做选择”之外,没有任何解释:“

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

回答

1

没有真正的实体方式,有LINQ并且有LINQ扩展方法,这是我认为眼睛更清洁的方法。你也可以使用LINQ而不仅仅是EE。

Language Integrated Query

LINQ延伸通过加入查询表达式,其是类似于SQL语句的语言,并且可以用来方便地提取和从阵列,枚举类,XML文档,关系数据库的过程数据和第三方数据源。其他使用查询表达式作为可读构成任意计算的通用框架的应用包括构建事件处理程序2或monadic解析器。 3

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

Exploring Lambda Expression in C#

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

3我找到LINQ扩展方法是更清洁,说实话,最后我想看到的是像SQL语句在代码中铺设。

4一个良好的开端可以在这里

101 LINQ SAMPLES

+0

谢谢!这就是我正在寻找的东西 - 我现在正在阅读所有这些东西。很难谷歌,当你不知道任何东西的名字! – user2480201

+0

你是对的,如果有帮助,这个东西很简单,一旦你开始使用它,你会发现它也非常有用。 – Marco

0

发现箭头被称为一个lambda操作符,它被用于创建Lambda表达式。这与EF或Linq或其他任何东西无关。这是C#的一个特性。 EF和Linq只是使用这个功能很多,因为它对编写查询非常有用。

Marco给出了相关文件的链接。

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

+0

谢谢你的信息!今天学到了关于C#的新东西 - 感谢它! – user2480201