EntityFramework 5.0 CodeFirst 教程02-删除和修改/架构改变异常的处理
-----------------------------------------------------目录-----------------------------------------------------
EntityFramework 5.0 CodeFirst 教程03-数据结构的定义/列的属性 (2015-07-22 17:30)
EntityFramework 5.0 CodeFirst 教程02-删除和修改/架构改变异常的处理 (2015-07-14 17:50)
EntityFramework 5.0 CodeFirst 教程01-搭建环境和快速上手 (2015-07-13 10:48)
-----------------------------------------------------目录-----------------------------------------------------
上节,我们搭建了一个简单的环境,并且通过代码First的方式,生成数据库,创建数据表,同时往数据表中添加记录,查找数据表中的数据,这集我们先来学习获取其中的一条记录,对该记录进行修改,然后删除某一条记录。
//获取一条数据
using (var context = new Context())
{
var savedPeople = context.People;
if (savedPeople.Any())//如果源序列包含任何元素,则为 true;否则为 false 也就是如果表中有一条记录
{
var person = savedPeople.First();//取得第一条
string name = person.FirstName;//取得数据
}
}
var personId = ;
var p2 = context.People.Find(personId);//获取要删除的记录 通过主键ID

//修改一条记录
using (var context = new Context())
{
var savedPeople = context.People;
if (savedPeople.Any())//如果源序列包含任何元素,则为 true;否则为 false 也就是如果表中有一条记录
{
var person = savedPeople.First();//取得第一条
person.FirstName = "www.bamn.cn";//修改名字
person.LastName = "Benson";
context.SaveChanges();
}
}

//删除一条记录
using (var context = new Context())
{
var personId = ;
var person = context.People.Find(personId);//获取要删除的记录 通过主键ID
if (person != null)
{
context.People.Remove(person);
context.SaveChanges();
}
}
public class Company
{
public int CompanyId { get; set; }
public string Name { get; set; }
}

protected override void Seed(Context context)
{
context.Companies.Add(new Company
{
Name = "My company"
});
}

//获取一条数据
//using (var context = new Context())
//{
// var savedPeople = context.People;
// if (savedPeople.Any())//如果源序列包含任何元素,则为 true;否则为 false 也就是如果表中有一条记录
// {
// var person = savedPeople.First();//取得第一条
// string name = person.FirstName;//取得数据 // var personId = 1;
// var p2 = context.People.Find(personId);//获取要删除的记录 通过主键ID
// }
//} //修改一条记录
//using (var context = new Context())
//{
// var savedPeople = context.People;
// if (savedPeople.Any())//如果源序列包含任何元素,则为 true;否则为 false 也就是如果表中有一条记录
// {
// var person = savedPeople.First();//取得第一条
// person.FirstName = "www.bamn.cn";//修改名字
// person.LastName = "Benson";
// context.SaveChanges();
// }
//} //删除一条记录
//using (var context = new Context())
//{
// var personId = 2;
// var person = context.People.Find(personId);//获取要删除的记录 通过主键ID
// if (person != null)
// {
// context.People.Remove(person);
// context.SaveChanges();
// }
//}
#endregion Database.SetInitializer(new Initializer());//取消数据库架构修改后 using (var context = new Context())
{
bool res = context.Database.CreateIfNotExists();
//往数据库中添加数据
var person = new Person
{
FirstName = "John",
LastName = "Doe"
};
context.People.Add(person);
context.SaveChanges(); //获取数据
var savedPeople = context.People;
foreach (var p in savedPeople)
{
Console.WriteLine("Last name:{0},first name:{1},id {2}",
p.LastName, p.FirstName, p.PersonId);
}
}
Console.ReadKey();
EntityFramework 5.0 CodeFirst 教程02-删除和修改/架构改变异常的处理的更多相关文章
- EntityFramework 5.0 CodeFirst 教程04-查询,插入,更新,和删除数据
---------------------目录-------------------------- EntityFramework 5.0 CodeFirst 教程04-查询,插入,更新,和删除数据 ...
- EntityFramework 5.0 CodeFirst 教程03-数据结构的定义/列的属性
---------------------目录-------------------------- EntityFramework 5.0 CodeFirst 教程03-数据结构的定义/列的属性 (2 ...
- EntityFramework 5.0 CodeFirst 教程01-搭建环境和快速上手
----------------------------目录------------------------------ EntityFramework 5.0 CodeFirst 教程03-数据结构 ...
- Swift3.0语言教程删除字符与处理字符编码
Swift3.0语言教程删除字符与处理字符编码 Swift3.0语言教程删除字符 Swift3.0语言教程删除字符与处理字符编码,在字符串中,如果开发者有不需要使用的字符,就可以将这些字符删除.在NS ...
- CRL快速开发框架系列教程四(删除数据)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- (转) TexturePacker 3.0 使用教程
著名的TexturePacker 已经升级到3.0了,下载地址: http://www.codeandweb.com/texturepacker 免费 license 申请地址: http://www ...
- Swift3.0语言教程使用路径字符串
Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...
- Swift3.0语言教程替换子字符串
Swift3.0语言教程替换子字符串 Swift3.0语言教程替换子字符串,替换子字符串其实就是将字符串中的子字符串删除,然后再进行添加.为了让这一繁琐的过程变的简单,NSString提供了替换子字符 ...
- PAT 字符串-02 删除字符串中的子串
/* 2 *PAT 字符串-02 删除字符串中的子串 3 *2015-08-09 4 作者:flx413 5 */ #include<stdio.h> #include<string ...
随机推荐
- C# 遍历文件夹非递归实现(采用队列的广度优先算法)(转)
一.实现思路: 1. 创建一个队列(使用C# 队列类 Queue,需要使用命名空间 System.Collections.Generic): 2. 把起始文件夹名称排入队中: 3. 检查队列中是否有文 ...
- 安装Lync 2013过程中遇到的第一个报错
安装Lync 2013, 首先要去做的就是prepare AD Forest. 在使用向导的时候会遇到报错如下: Prepare Forest Active Directory setting exe ...
- Android 与 js 简单互调
总结: Android 调用 js: 在 Android 中创建通往 javascript 的接口; 在 html 中定义要执行的方法; 在 Android 中的具体事件中进行调用. cont ...
- EF 数据类型 0xA7 的数据长度或元数据长度无效
测试方法 TestProject1.SysTest.HtmlAnalysisTest12 引发异常: System.Data.UpdateException: 更新项时出错.有关详细信息,请参阅“I ...
- Centos安装gcc及g++
Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户. 按照这个思路,我想安装过程如下: 安装gcc:yum install gcc 安 ...
- JavaScript中一个对象如何继承另外一个对象
如题,JavaScript中一个对象a如何继承另外一个对象b.即将b中的属性和方法复制到a中去. 面试中遇到了这个问题,当时脑子里的想法是: 1.除了循环遍历复制,还能怎样 2.javascript中 ...
- 基于PHP构建OAuth 2.0 服务端 认证平台
OAuth2.0 认证服务 安装 你可以在github上下载OAuth Server PHP,也可以用下列命令下载,不过内容都是一样的 mkdir my-oauth2-walkthrough cd m ...
- [Algorithm] Construct String from Binary Tree
You need to construct a string consists of parenthesis and integers from a binary tree with the preo ...
- 使用FractionSlider生成的视差幻灯效果原型
在线演示 本地下载 非常棒的jQuery插件,帮助你创建超酷的视差效果幻灯!
- Rust 的安装和使用举例
一.环境 二.安装 $curl -sSf https://static.rust-lang.org/rustup.sh | sh Welcome to Rust. This script will d ...