创建单例的DbContext
/// <summary>
/// 说明:
/// 创建日期:2016/9/30 14:49:48
/// 创建人:曹永承
/// </summary>
public class AppDbContext:DbContext
{
private AppDbContext() : base("db")
{
Database.SetInitializer<AppDbContext>(new AppDbInit());
} /// <summary>
/// 创建唯一的AppDbContext
/// </summary>
/// <returns></returns>
public static AppDbContext CreateOnly()
{
AppDbContext dbContext = CallContext.GetData("dbContext") as AppDbContext;
if (dbContext == null)
{
dbContext = new AppDbContext();
CallContext.SetData("dbContext", dbContext);
}
return dbContext;
} protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove(
new PluralizingTableNameConvention()); //移除在数据库中表名复数约束
base.OnModelCreating(modelBuilder);
} public DbSet<AccountDetial> AccountDetails { get; set; }
} public class AppDbInit : DropCreateDatabaseIfModelChanges<AppDbContext>
{
protected override void Seed(AppDbContext context)
{
init(context);
base.Seed(context);
} protected void init(AppDbContext context)
{
var list = new List<AccountDetial>
{
new AccountDetial { Account="a",Age=, Password=""},
new AccountDetial { Account="b",Age=, Password=""},
new AccountDetial { Account="c",Age=, Password=""},
new AccountDetial { Account="d",Age=, Password=""},
new AccountDetial { Account="e",Age=, Password=""}
}; foreach (AccountDetial account in list)
{
context.AccountDetails.Add(account);
}
context.SaveChanges();
}
}
创建单例的DbContext的更多相关文章
- [iOS dispatch_once创建单例]
自苹果引入了Grand Central Dispatch (GCD)(Mac OS 10.6和iOS4.0)后,创建单例又有了新的方法,那就是使用dispatch_once函数,当然,随着演进的进行, ...
- Swift - 代码创建单例
创建单例的方法 import UIKit //创建一个单例类 class SingleInstance: NSObject { //在单例类中,有一个用来共享数据的数组 var datas = [St ...
- IOS:利用dispatch_once创建单例
在之前有一篇学习笔记中,记载了一篇如何在OC中实现单例的文章:<IOS学习笔记4—Objective C—创建单例>自苹果引入了Grand Central Dispatch (GCD)(M ...
- 使用GCD的dispatch_once创建单例
使用GCD的dispatch_once创建单例 介绍了创建单例的方式,不过后来发现其实在ios 4.0后有更加简单的方式. 就是使用GCD的功能 代码如下: + (instantClass *)sha ...
- Spring IOC 容器源码分析 - 创建单例 bean 的过程
1. 简介 在上一篇文章中,我比较详细的分析了获取 bean 的方法,也就是getBean(String)的实现逻辑.对于已实例化好的单例 bean,getBean(String) 方法并不会再一次去 ...
- iOS 创建单例的两种方法
创建一个单例很多办法.我先列举一个苹果官方文档中的写法. [cpp] view plaincopy static AccountManager *DefaultManager = nil; + (Ac ...
- Spring使用facotry-method创建单例Bean总结<转>
阅读目录 1 最原始的实现单例模式的方法(存在线程不安全): 2 通过关键字Synchronized强制线程同步 3 通过静态内部类进行单例 通过spring的factory-method来创建 ...
- 【Spring实战】—— 3 使用facotry-method创建单例Bean总结
如果有这样的需求: 1 不想再bean.xml加载的时候实例化bean,而是想把加载bean.xml与实例化对象分离. 2 实现单例的bean 以上的情况,都可以通过工厂方法factory-metho ...
- iOS:创建单例对象的两种方式
单例模式:创建单例对象的两种方式 方式一:iOS4版本之前 static SingleClassManager *singleManager = nil; +(SingleClas ...
随机推荐
- Mysql ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declar ...
- CentOS下源码安装MySQL
一.创建mysql用户与组,相关目录 useradd mysql -s /sbin/nologin mkdir /usr/local/mysql chown -R mysql.mysql mkdir ...
- [js] 有趣的js面试题,你答对了吗?
题目1: 回答以下代码,alert的值分别是多少?
- 【linux命令】:查看当前登录用户的信息,本文介绍3种方法
作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动.有些时候,你甚至需要知道他(她)们正在做什么.本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法. 1. 使用w ...
- Command设计模式
1 意图:将一个请求封装为一个对象,可以用不同的请求对客户进行参数化: 对请求排队或记录请求日志,以及支持可撤销的操作. 2 别名:Action.Transaction 3 动机:把请求变成一个对象. ...
- mysql使用笔记(四)
一.选择合适的数据类型 1. CHAR vs VCHAR char是固定长度的字符类型,而varchar是可变长度的字符类型.char(M)的数据列中,每个值都占用M个字节,如果某个长度小于M ...
- maven和jdk版本不匹配
解决方法:http://blog.csdn.net/mafan121/article/details/51944346
- 图解javascript中this指向
JavaScript 是一种脚本语言,支持函数式编程.闭包.基于原型的继承等高级功能.JavaScript一开始看起来感觉会很容易入门,但是随着使用的深入,你会发JavaScript其实很难掌握,有些 ...
- Weka 3: Data Mining Software in Java
官方网站: Weka 3: Data Mining Software in Java 相关使用方法博客 WEKA使用教程(经典教程转载) (实例数据:bank-data.csv) Weka初步一.二. ...
- JSP HTML error code
<html> <head> <title>Setting HTTP Status Code</title> </head> <body ...