.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中的验证>,唯一的遗憾就是在使 ...
随机推荐
- android 自定义gallerey并实现预览功能
自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果.的确HorizontalScrollView可以实现Gal ...
- Unity 数据Json格式的转换
把对象转换为字节序列的过程称为对象的序列化. 把字节序列化恢复为对象过程称为对象的反序列化. JSON格式的转换,是一大神给我说的,让我拿来存储数据库时对一些数据的处理,感觉特别好用.但是我并没有深入 ...
- Android特效专辑(三)——自定义不一样的Toast
Android特效专辑(三)--自定义不一样的Toast 大家都知道,Android的控件有时候很难满足我们的需求,所以我们需要自定义View.自定义的方式很多,有继承原生控件也有直接自定义View的 ...
- 本人在CSDN上的技术博客访问量突破了10万次,特此截图留念
从 2011-11-16在CSDN开博至今,将近三年. 在近三年的时间里,本博的访问量于2014-07-01突破了10万次,单篇博文<软件开发高手须掌握的4大SQL精髓 ...
- LeetCode - 验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树. 一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当前节点的数. 所有左子树和右子树自身必须也是二叉搜索树. ...
- window配置mongodb集群(副本集)
参数解释: dbpath:数据存放目录 logpath:日志存放路径 pidfilepath:进程文件,有利于关闭服务 logappend:以追加的方式记录日志(boolean值) replSet:副 ...
- 关于iOS9 HTTP不能正常使用的解决方法
在工程的info.plist文件中添加NSAPPTransportSecurity类型为Dictionary,在NSAPPTransportSecurity下添加NSAllowsArbitraryLo ...
- js定义数组的方法
1.定义时赋值 var mycars=new Array("a","b","c") 2.new一个数组对象 var mycars=new A ...
- jfinal的回滚
有两种方法 1. @Before(Tx.class) public void test() throws Exception { } 优点:简单,不需要去处理每个异常,直接抛出异常: 缺点:不能详细的 ...
- 你不知道你不懂javascript
过去几年我注意到技术圈一个很奇怪的现象,有太多程序员将那些他们只是有过非常浅显的了解, 但其实根本就不懂的技术写到他们的简历中,这个现象几乎每种语言都有,但这其中最严重的就要数javascript了. ...