分享

Entity Framework 简单查询

 昵称10504424 2013-12-02

首先来简单的复习一下如何使用Code First。

第一步还是先建立一个控制台的应用程序,然后通过Nuget添加Entity Framework。那么同时会给packages.config和App.config添加相应的配置。

第二步添加一个数据操作上下文实体类。添加两个构造函数,并添加一个Person的实体类。 在App.config的配置文件中添加相应的数据链接配置。

第三步在调用即可生成相应的数据库。

EFContext.cs

  App.config

 package.config 

  然后简单的添加了一个实体类

  最终进行调用

  运行后控制台没有数据显示,但是在数据库里可以查看到相应的数据库EFContext和数据表People。

现在我们通过数据库直接为上面建立的数据库EFContext中的People表手动添加了几条数据。

然后重新运行程序。可以发现有数据了。

此时可以发现我们的第一个简答的查询语句已经实现了。

  一个数据库上下文的生命周期随着该对象的创建而开始,随着对象的释放(或GC回收)而结束,因此建议在开发过程中使用“Using”编码方式,这样就可以免去手动释放对象的操作。另外对于数据库连接的管理在EF中是透明的,我们一般不需要手动进行处理,当查询一个对象时打开连接当处理完查询的结果集之后会自动关闭连接。

Linq To Entity表达式查询

查询表达式是C#3.0新增的功能,它是由一组类似于T-SQL或XQuery声明性语句组成,CLR并不能直接读取这种查询表达式而是在编译时转换为对应的方法调用。如下面的例子:

  得到的结果同上面是一致的。

基于方法的查询

基于方法的查询事实上是一组对象的扩展方法,同Linq查询不同的是这些方法可以直接被CLR识别并运行。

例如上面的方法我们可以转换为如下代码,他们的效果是一样的,返回的都是“IQueryable”对象,这里的代码其实也就是我们开始为创建数据库测试的代码

  当然执行的结果还是一样的。

原生SQL的查询

EF还支持原生SQL查询例如:

  可以直接通过SQL语句的拼接额,当然这里只是做了最简单的实例。

  不仅如此,EF还支持非实体类型的查询:

当然也支持无返回值的SQL命令:

  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约