.NET之EntityFramework框架运用
1.创建EF模型库
创建类库--》添加新建项--》选择ADO.NET实体数据模型--》选择 来自数据库的EF选择器--》配置数据库链接以及相应的数据库--》看底部(将app.Config中链接设置另存为)默认值改成你需要空间名(DemoEntity)--》实体框架6.X--》选择相应的表--》模型命名空间;改成你需要的空间名:(Demo.EntityModel),点击完成
2.创建实现类库
引用刚刚的EF实体库
3.添加相应的NuGet包:搜索:EntityFramework
点击安装;
4.开始操作EF模型库
using EntityModel;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Transactions; namespace EntityFrameworkDB
{
class DB
{
public static void Add()
{
using (var dbContext = new DemoEntity())
{
var awardPool = new GXL_AwardPool()
{
ShopId =
};
dbContext.GXL_AwardPool.Add(awardPool);
dbContext.SaveChanges();
}
} public static void Update()
{
using (var dbContext = new DemoEntity())
{
var awardPool = new GXL_AwardPool()
{
ID = ,
ShopId =
};
dbContext.GXL_AwardPool.Attach(awardPool);
dbContext.Entry(awardPool).State = EntityState.Modified;
dbContext.SaveChanges();
}
} public static void Del()
{
using (var dbContext = new DemoEntity())
{
var awardPool = new GXL_AwardPool()
{
ID =
};
dbContext.GXL_AwardPool.Attach(awardPool);
dbContext.GXL_AwardPool.Remove(awardPool);
dbContext.SaveChanges();
}
} public static void GetModel()
{
using (var dbContext = new DemoEntity())
{
//查询单个实体
var awardPool = dbContext.GXL_AwardPool.FirstOrDefault(x => x.ID == ); //查询多个实体
var awardPoolList = dbContext.GXL_AwardPool.Where(x => x.ShopId == ).ToList(); //通过sql语句查询单个实体
//dbContext.Database.SqlQuery<ShopsMyDto>(sql).FirstOrDefault(); //通过sql语句查谒多个实体
//dbContext.GXL_AwardPool.Where(x => x.ShopId == 1).ToList();
}
} /// <summary>
/// 提交事务
/// </summary>
public static void Tijiao()
{
using (var dbContext = new DemoEntity())
{
using (var scope = new TransactionScope())
{
try
{
var awardPool = new GXL_AwardPool()
{
ShopId =
};
dbContext.GXL_AwardPool.Add(awardPool); var awardPoolIn = new GXL_AwardPoolIn()
{
ID = ,
ShopId =
};
dbContext.GXL_AwardPoolIn.Attach(awardPoolIn);
dbContext.Entry(awardPoolIn).State = EntityState.Modified; //进行事务提交
dbContext.SaveChanges();
scope.Complete();
}
catch
{ }
}
}
}
}
}
.NET之EntityFramework框架运用的更多相关文章
- 浅谈EntityFramework框架的使用
第一步,建立一个类库,并且安装好EntityFramework框架还有CodingFirstUsingFluentApi安装包 第二步 : 第三步:配置好你的数据库连接信息,还有你需要操作的数据库,在 ...
- vs2012加载EntityFrameWork框架,连接Oracel
近日公司用到.net MVC框架做接口,需连接到Oracel数据库,从网上查阅了一些资料,当然,从咱们博客园获益匪浅.然后结合自己所做,把使用过程中遇到的一些问题,及如何解决的整理如下,方便查阅,也有 ...
- [译]ABP框架使用AngularJs,ASP.NET MVC,Web API和EntityFramework构建N层架构的SPA应用程序
本文转自:http://www.skcode.cn/archives/281 本文演示ABP框架如何使用AngularJs,ASP.NET MVC,Web API 和EntityFramework构建 ...
- EntityFramework.Extended扩展用法
EntityFramework.Extended是一个基于EntityFramework框架 IQueryable类型的扩展方法,包括Update.Delete. 它的优点就是 修改删除操作不仅仅有I ...
- 基于EntityFramework的权限的配置和验证
1. 概要 本文主要介绍公司现有系统框架的权限体系,和一些待扩展功能的说明.目前该权限体系基于角色构建(RBAC),原则上,系统中不允许出现对用户.组织等其他对象指派权限的情况. 2. 权限分 ...
- [转] .NET领域驱动设计—初尝(原则、工具、过程、框架)
阅读目录: 1.原则 1.1.精简聚合 1.2.分离用例与接口功能(设计模式的用武之地) 2.工具.框架.组件 3.过程 1]原则 原则对于任何一项技术实现来说都是至关重要的,在设计某一个系统功能的时 ...
- 使用asp.net mvc + entityframework + sqlServer 搭建一个简单的code first项目
步骤: 1. 创建一个asp.net mvc 项目 1.1 项目创建好结构如下 2 通过vs安装EntityFramework框架 install-package entityframework 3. ...
- ORM框架的前世今生
目录 一.ORM简介二.ORM的工作原理三.ORM的优缺点四.常见的ORM框架 一.ORM简介 ORM(Object Relational Mapping)对象关系映射,一般指持久化数据和实体对象的映 ...
- ASP.NET MVC验证框架中关于属性标记的通用扩展方法
http://www.cnblogs.com/wlb/archive/2009/12/01/1614209.html 之前写过一篇文章<ASP.NET MVC中的验证>,唯一的遗憾就是在使 ...
随机推荐
- EBS 信用检查(一)
信用逻辑 This post will more focus on Technical part of credit check Functionality. You can check the fu ...
- java容易混淆的15个知识点
java知识点不多,但是有一些经常会被我们忽略 1.java是强类型的语言,数组也是对象,一旦确定数组的类型,里面就只能存放一个类型的数据. 2.新建的对象都被存放到堆上,如果没有引用,会很快垃圾回收 ...
- 【一天一道LeetCode】#55. Jump Game
一天一道LeetCode系列 (一)题目 Given an array of non-negative integers, you are initially positioned at the fi ...
- (二十六)静态单元格(Cell)
制作类似iOS系统设置的页面,如果使用代码来实现,将会比较麻烦,可以通过静态单元格技术方便的实现. 注意:静态单元格只支持TableViewController. 可以通过storyboard直接操作 ...
- android数据保存之greendao
有时我们的数据属于保存到数据库,对于Android应用和IOS应用,我们一般都会使用SQLite这个嵌入式的数据库作为我们保存数据的工具.由于我们直接操作数据库比较麻烦,而且管理起来也非常的麻烦,以前 ...
- windows下程序启动检查,只启动一个实例
问题来源:http://bbs.csdn.net/topics/390998279?page=1#post-398983061 // Only_once.cpp : 定义控制台应用程序的入口点. // ...
- android Native堆
Android 应用开发大家都知道可以通过DDMS来查看应用程序进程占用的内存大小:然而Native 内存并不能在虚拟堆上看到:Android系统基于Linux,这样的话其具备Linux的大多数特性: ...
- Android特效专辑(六)——仿QQ聊天撒花特效,无形装逼,最为致命
Android特效专辑(六)--仿QQ聊天撒花特效,无形装逼,最为致命 我的关于特效的专辑已经在CSDN上申请了一个专栏--http://blog.csdn.net/column/details/li ...
- objective-c中线程编程一例
/* print with threads : print every file's first n char contents under the path that pass to this pr ...
- STM32之使用库函数驱动LED灯
一.熟悉GPIO结构体 以下这个结构体是我从官方手册中获取的: typedef struct { u16 GPIO_Pin; GPIOSpeed_TypeDef GPIO_Speed; GPIOMod ...