【原】EF简单使用
/// <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简单使用的更多相关文章
- EasyUI+MVC+EF简单用户管理Demo(问题及解决)
写在前面 iframe-src EntityFramework版本 connectionStrings View.Action.页面跳转 EasyUI中DataGrid绑定 新增.修改和删除数据 效果 ...
- ASP.NET MVC学习---(三)EF简单增删改查
那么现在我们已经大概从本质上了解了ef 巴拉巴拉说了一大堆之后 总算要进入ef的正题了 总在口头说也太不行了是吧~ 没错,现在要用ef进行一些实际的操作 做什么呢? 就做一个入门级的增删改查操作吧 废 ...
- [原]一个简单的Linux TCP Client所涉及到的头文件
今天在Linux环境下写了一个最简单的TCP Client程序,没想到Linux环境下的头文件竟然这么分散,让我这样的菜鸟很是郁闷啊.编译成功的代码如下: #include <iostream& ...
- 【EF学习笔记04】----------EF简单增删改查
第一步:创建上下文对象 using(var db = new Entities()) { //数据操作 } 新增 UserInfo user = new UserInfo() { UserName = ...
- EF 简单介绍<一>
一:EF概述 Entity Framework(EF)是一个开源的“对象/关系映射(ORM:Object Relational Mapping)”框架,使应用程序可以使用一种“纯”的对象模型来访问关系 ...
- EF简单的CURD操作
/// <summary> /// EF添加数据 /// </summary> /// <param name="sender"></pa ...
- 步步为营-93-MVC+EF简单实例
1:创建MVC项目 2:添加EF数据(这里选择DataBaseFirst模式) 3:添加控制器 3.1.1 创建列表页面 3.1.2 html页面 @using MvcApplication1 @{ ...
- [EF]使用EF简单增删改查
目录 认识EF 添加数据 删除数据 修改数据 查询数据 总结 认识EF ADO.NET Entity Framework 是微软以ADO.NET为基础所发展出来的对象关系对伊(O/R Mapping) ...
- [原]实例-简单设计&精简代码&复用代码
引言 本文以实际项目为例谈一谈我个人对于软件开发的理解,偏细节 软件项目B 基于.net平台,使用WPF框架,c#语言,MVVM模式开发的桌面软件 该软件支持可视化的设计器功能,允许所见即所得的方 ...
随机推荐
- [原创]如何写好SqlHelper 之终章
精简的美丽...... 标题有点大.但是,我觉得99%的接近了. 好了,下面我们来说说一个SqlHelper为了适应各种不同的业务需要,它应该具备哪些基本要素. 第一点.可控的事务. 事务是数据库操作 ...
- RabbitMQ+PHP 消息队列环境配置
参考文档:http://www.cnblogs.com/phpinfo/p/4104551...http://blog.csdn.net/historyasamirror/ar... 依赖包安装 yu ...
- SQL语言的四大分类
以下是sql数据语言类型的关键词: 1.数据定义语言DDL create.drop.alter.truncate 2.数据查询语言DQL select 3.数据操纵语言DML insert.dele ...
- B - 一行盒子
Description 你有一行盒子,从左到右依次编号为1, 2, 3,…, n.你可以执行四种指令: 1 X Y表示把盒子X移动到盒子Y左边(如果X已经在Y的左边则忽略此指令).2 X Y表示把盒子 ...
- linux 主机免验证登录
1.ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub 2.scp -p port ~/.ssh/id ...
- [改善Java代码]使用valueOf前必须进行校验
每个枚举都是java.lang.Enum的子类,都可以访问Enum类提供的方法,比如hashCode(),name(),valueOf()等..... 其中valueOf()方法会把一个String类 ...
- Angular 2.0 从0到1 (七)
第一节:Angular 2.0 从0到1 (一)第二节:Angular 2.0 从0到1 (二)第三节:Angular 2.0 从0到1 (三)第四节:Angular 2.0 从0到1 (四)第五节: ...
- 【转】【CDC翻客】移动端App测试实用指南
译者注:本文从测试人员的角度出发,提出了100多个在测试移动App过程中需要考虑的问题.不管你是测试人员.开发.产品经理或是交互设计师,在进行移动App开发时,这些问题都很有参考价值.我和Queen ...
- 锋利的jQuery第2版学习笔记4、5章
第4章,jQuery中的事件和动画 注意:使用的jQuery版本为1.7.1 jQuery中的事件 JavaScript中通常使用window.onload方法,jQuery中使用$(document ...
- 【转】MySQL的安装与配置
一.MySQL的安装 1.在线安装: 命令:sudo apt-get install mysql-server 在安装的过程中将提示为“root”用户设置密码,输入自己的密码即可,安装按成后已自动配置 ...