C# 实体框架使用 LINQ

5

我明天有一次工作面试,他们说要考我关于“使用实体框架和LINQ进行C#开发”的考试。

对我而言,实体框架和LINQ是两个新的方法。我已经知道如何构建C#应用程序,并连接到SQLServer数据库,使用普通的连接字符串和SQL语法。

在研究实体框架时,首先我学会了可以使用SQLServer对象资源管理器,在Visual Studio中轻松地创建一个本地数据库,然后添加OLE.net实体模型并轻松进行更改。例如,您可以看下面的代码,用于将学生插入学生列表。

  using (SchoolEntities1 context = new SchoolEntities1())
            {
                StudentList sl = new StudentList
                {
                    Name = tb_Name.Text,
                    Gender = cb_Gender.Text,
                    Grade = Convert.ToInt32(tb_Grade.Text)
                };
                context.StudentLists.Add(sl);
                context.SaveChanges();

            }

这是Entity Framework的基本功能吗?除了数据库操作(INSERT/UPDATE/DELETE/SELECT)之外,我还需要学习其他有用的东西吗?

此外,在研究LINQ时,我看到不同类型的代码示例,上面的代码中学生列表的定义是一个LINQ函数吗?我必须在我的代码中使用Lambda表达式吗?

如果有任何可以帮助我在短时间内完成任务的链接,将不胜感激。

谢谢。


2
你问题背后的问题是“我在面试中需要了解EF的哪些知识才能表现出色”。这个问题太宽泛,不是一个问答风格的问题。 - Phillip Ngan
2个回答

9

有三种EF方法,它们是:

  1. Model First
  2. Database First
  3. Code First

在这里,您可以了解EF基础知识:Entity Framework Basics

有两种类型的查询方法,它们是:

1. 基于查询的

例如:投影

IQueryable<Product> productsQuery = from product in context.Products
                                        select product;

2. 基于方法

例如:投影

 var query = context.Products
        .Select(product => new
        {
            ProductId = product.ProductID,
            ProductName = product.Name
        });

在这里你可以看到:LINQ to Entities中的查询

你可以在Entity Framework面试题和答案中了解更多。

祝好运!:)


4
据我所知,对于MVC来说,一个基本的crud操作是一个很好的起点。这意味着插入、更新、删除、详情和级联下拉列表。但除此之外,你还应该清楚地了解MVC路由。
目前你的代码中没有任何lambda表达式。类似列表、计数、连接等基本的Linq知识可以在短时间内学习。
这里有数据优先方法:数据优先 代码优先方法:代码优先 Linq基础面试题:Linq面试题 另外,要了解关系处理的一些知识。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接