/// <summary>
/// 数据上下文对象
/// </summary>
static TestEntities te = new TestEntities();
static void Main(string[] args)
{ 执行方法(); Console.ReadKey();
} #region 新增
static void Add()
{
//创建实体对象
User uObj = new User() { UName = "刘涛", UPwd = "testpwd" };
//通过EF新增到数据库中
//将对象加入到数据上下文的users集合中
te.Users.Add(uObj);
//调用 数据上下文的保存方法,将对象存储到数据库中
te.SaveChanges();
Console.WriteLine("保存成功!");
}
#endregion
#region 即时查询
static void Query()
{
List<User> list = te.Users.Where(u => u.UName == "刘涛"&&u.Uids==).ToList();
list.ForEach(u => Console.WriteLine(u.ToString()));
}
#endregion
#region 延时查询
static void Query1()
{ //集合的标准查询运算符方法,是来自于System.Linq.Enumerable里给IEnumerable接口添加的扩展方法
//EF上下文里的DBSet<T>里的标准查询运算符来自于System.Linq.Queryabl给IQueryable接口添加的扩展方法;
//延时加载
//System.Data.Entity.Infrastructure.DbQuery<User> i = te.Users.Where(u => u.UName == "刘涛").OrderByDescending(u => u.UPwd) as System.Data.Entity.Infrastructure.DbQuery<User>;
//User user1 = i.FirstOrDefault();
//延迟加载,针对于外键实体的延迟
IQueryable<UsersDetail> address = te.UsersDetails.Where(a => a.udUid == );
//此时只查询了地址表
UsersDetail addr01 = address.FirstOrDefault();
//查询了地址对应的用户表
Console.WriteLine(addr01.User.UName);
//按需加载的缺点,数据量大的时候会为每次调用外键实体时,都会去查询数据库,EF有小优化:相同的外键实体,只查一次;
IQueryable<UsersDetail> addrs = te.UsersDetails;
foreach (UsersDetail item in addrs)
{
Console.WriteLine(item.udAddress+":userName="+item.User.UName);
} // Console.WriteLine(user1.UPwd.ToString()); }
#endregion
#region 修改
static void Edit()
{
//查询出一个要修改的对象
User usr = te.Users.Where(u => u.Uids == ).FirstOrDefault();
//修改内容
Console.WriteLine("修改前" + usr.ToString());
usr.UName = "测试修改";
//重新保存到数据库
te.SaveChanges();
Console.WriteLine("修改后" + usr.ToString());
Console.WriteLine("修改内容成功!");
}
#endregion
#region 删除
static void Delete()
{
//创建要删除的对象
User u = new User();
u.Uids = ;
//附加到EF中
te.Users.Attach(u);
//标记为删除
te.Users.Remove(u);
//执行删除SQL
te.SaveChanges();
Console.WriteLine("删除成功!");
}
#endregion

【原】EF简单使用的更多相关文章

  1. EasyUI+MVC+EF简单用户管理Demo(问题及解决)

    写在前面 iframe-src EntityFramework版本 connectionStrings View.Action.页面跳转 EasyUI中DataGrid绑定 新增.修改和删除数据 效果 ...

  2. ASP.NET MVC学习---(三)EF简单增删改查

    那么现在我们已经大概从本质上了解了ef 巴拉巴拉说了一大堆之后 总算要进入ef的正题了 总在口头说也太不行了是吧~ 没错,现在要用ef进行一些实际的操作 做什么呢? 就做一个入门级的增删改查操作吧 废 ...

  3. [原]一个简单的Linux TCP Client所涉及到的头文件

    今天在Linux环境下写了一个最简单的TCP Client程序,没想到Linux环境下的头文件竟然这么分散,让我这样的菜鸟很是郁闷啊.编译成功的代码如下: #include <iostream& ...

  4. 【EF学习笔记04】----------EF简单增删改查

    第一步:创建上下文对象 using(var db = new Entities()) { //数据操作 } 新增 UserInfo user = new UserInfo() { UserName = ...

  5. EF 简单介绍<一>

    一:EF概述 Entity Framework(EF)是一个开源的“对象/关系映射(ORM:Object Relational Mapping)”框架,使应用程序可以使用一种“纯”的对象模型来访问关系 ...

  6. EF简单的CURD操作

    /// <summary> /// EF添加数据 /// </summary> /// <param name="sender"></pa ...

  7. 步步为营-93-MVC+EF简单实例

    1:创建MVC项目 2:添加EF数据(这里选择DataBaseFirst模式) 3:添加控制器 3.1.1 创建列表页面 3.1.2 html页面 @using MvcApplication1 @{ ...

  8. [EF]使用EF简单增删改查

    目录 认识EF 添加数据 删除数据 修改数据 查询数据 总结 认识EF ADO.NET Entity Framework 是微软以ADO.NET为基础所发展出来的对象关系对伊(O/R Mapping) ...

  9. [原]实例-简单设计&精简代码&复用代码

    引言 本文以实际项目为例谈一谈我个人对于软件开发的理解,偏细节   软件项目B 基于.net平台,使用WPF框架,c#语言,MVVM模式开发的桌面软件 该软件支持可视化的设计器功能,允许所见即所得的方 ...

随机推荐

  1. python工具程序一、复制目录中指定扩展名的文件

    #!/usr/bin/env python # coding:utf-8 # xcopy Lib directory and rename all files to *d.lib import os ...

  2. jQuery Validate 插件[表单验证]

    在客户端添加信息提交表单时我们经常需要做一些验证,比如验证不能为空,验证客户输入手机格式,验证客户输入email,url等的格式,我们可以通过EL表达式结合js 进行自主验证,今天总结一个JQuery ...

  3. envi中selected rgb bands contain different spatial sizes

    是选择了不同的影像文件envi中selected rgb bands contain different spatial sizes

  4. iOS XMPP(1)

    关键词: 即时通讯技术 协议   了解xmpp的目的,工作原理   XMPP是基于XML的协议,传送的是XML格式流;IP地址:联网时电脑的唯一标识  Mac地址:不联网时电脑的唯一标志; OSI七层 ...

  5. 配置hibernate例子

    一.hiberbate.cfg.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hib ...

  6. jquery 60秒倒计时(方法二)

    <script type="text/javascript">var wait=60;document.getElementById("btn"). ...

  7. HttpClient(4.3.5) - 简单示例

    HttpClient 是一个客户端的 HTTP 传输库,而不是浏览器.HttpClient 的目的是传输和接收 HTTP 报文.HttpClient 不会尝试去处理报文内容,执行嵌入 HTML 内的 ...

  8. MyBatis(3.2.3) - Integration with Spring

    MyBatis-Spring is a submodule of the MyBatis framework, which provides seamless integration with the ...

  9. Ehcache(2.9.x) - API Developer Guide, Cache Loaders

    About Cache Loaders A CacheLoader is an interface that specifies load() and loadAll() methods with a ...

  10. winform 上传文件

    using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO ...