Linq批量建表
public JsonResult CreateTable()
{
db = new RZBDbContext();
var query = (from c in db.Clients
select new {
pre = c.Prefix
}).ToList();
foreach (var d in query)
{
//遍历循环client 生成表
//创建数据表
var file = Server.MapPath("~/App_Data/create_log.sql");
var sql = System.IO.File.ReadAllText(file);
sql = sql.Replace("{t}", d.pre);
db.Database.ExecuteSqlCommand(sql);
_log.Info("建立表:"+ d.pre+"_Log");
//Thread.Sleep(1000);
}
ResultModel model = new ResultModel();
model.StrMessage = "Welcome";
return Json(model, JsonRequestBehavior.AllowGet);
}
sql文件:
CREATE TABLE [{t}_QueryLog](
[ID] [uniqueidentifier] NOT NULL,
[LoginUserID] [uniqueidentifier] NOT NULL,
[IdentityID] [nvarchar](50) NOT NULL,
[IdentityName] [nvarchar](200) NOT NULL,
[QueryTime] [datetime] NOT NULL,
[IsHistory] [bit] NOT NULL,
[IsCharge] [bit] NOT NULL,
[IsSimpleCheck] [bit] NOT NULL,
[ext1] [nvarchar](50) NULL,
[ext2] [nvarchar](50) NULL,
[CreateUser] [nvarchar](50) NULL,
[CreateTime] [datetime] NULL,
[UpdateUser] [nvarchar](50) NULL,
[UpdateTime] [datetime] NULL
) ON [PRIMARY]
;
/****** Object: Index [IX_{t}_QueryLog_IdentityID] Script Date: 03/06/2014 11:07:13 ******/
CREATE NONCLUSTERED INDEX [IX_{t}_QueryLog_IdentityID] ON [dbo].[{t}_QueryLog]
(
[IdentityID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
;
/****** Object: Index [IX_{t}_QueryLog_IdentityName] Script Date: 03/06/2014 11:07:13 ******/
CREATE NONCLUSTERED INDEX [IX_{t}_QueryLog_IdentityName] ON [dbo].[{t}_QueryLog]
(
[IdentityName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
;
/****** Object: Index [IX_{t}_QueryLog_QueryTime] Script Date: 03/06/2014 11:07:13 ******/
CREATE NONCLUSTERED INDEX [IX_{t}_QueryLog_QueryTime] ON [dbo].[{t}_QueryLog]
(
[QueryTime] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
;
ALTER TABLE [dbo].[{t}_QueryLog] ADD CONSTRAINT [DF_{t}_QueryLog_ID] DEFAULT (newid()) FOR [ID]
;
ALTER TABLE [dbo].[{t}_QueryLog] ADD CONSTRAINT [DF_{t}_QueryLog_QueryTime] DEFAULT (getdate()) FOR [QueryTime]
;
ALTER TABLE [dbo].[{t}_QueryLog] ADD CONSTRAINT [DF_{t}_QueryLog_IsHistory] DEFAULT ((0)) FOR [IsHistory]
;
ALTER TABLE [dbo].[{t}_QueryLog] ADD CONSTRAINT [DF_{t}_QueryLog_IsCharge] DEFAULT ((1)) FOR [IsCharge]
;
ALTER TABLE [dbo].[{t}_QueryLog] ADD CONSTRAINT [DF_{t}_QueryLog_IsSimpleCheck] DEFAULT ((1)) FOR [IsSimpleCheck]
;
ALTER TABLE [dbo].[{t}_QueryLog] ADD CONSTRAINT [DF_{t}_QueryLog_CreateTime] DEFAULT (getdate()) FOR [CreateTime]
;
ALTER TABLE [dbo].[{t}_QueryLog] ADD CONSTRAINT [DF_{t}_QueryLog_UpdateTime] DEFAULT (getdate()) FOR [UpdateTime]
;
Linq批量建表的更多相关文章
- sql2000分享 批量建表dev_编号
批量建表dev_3970000000014到dev_3970000000035 declare @i bigint declare @j int ) ) ) ) set @sql = '' set @ ...
- Mysql 批量建表存储过程
最近项目中用到了使用存储过程批量建表的功能,记录下来: USE db_test_3; drop procedure if EXISTS `createTablesWithIndex`; create ...
- mysql创建存储过程,批量建表分表00到99
这里以sqlyong为软件示例: --创建存储过程DELIMITER $$ CREATE PROCEDURE `createTablesWithIndex`() BEGIN DECLARE `@i` ...
- 原!mysql5.6 存储过程 批量建表
由于业务需求,需要按天分表,因此写了个存储过程,根据时间生成表. 根据createTime 的时间,以及 while循环的变量设置范围,生成该指定日期及之后的多张表. BEGIN ); ); ; '; ...
- Mysql 存储过程批量建表
CREATE DEFINER=`root`@`%` PROCEDURE `createTables`() begin declare i int; declare suffix varchar(20) ...
- SqlServer 循环建表、删除表、更新表
常用于分库分表 1.批量删除 declare @outter int declare @inner int ) ) ) begin set @tablePrefix='BankPayOrder_'+c ...
- mysql 常用命令,连接数据库,查看建表语句,批量导入数据,批量更新数据,连接查询
1. 1)MySQL 连接本地数据库,从cmd中进入mysql命令编辑器: root root分别为用户名和密码 mysql -uroot -proot 2)MySQL 连接本地数据库,用户名为“ro ...
- 批量导出hive表的建表语句
转的这里的 首先先导出所有的table表 hive -e "use xxxdb;show tables;" > tables.txt 然后再使用hive内置语法导出hive表 ...
- Excel VBA ——批量工作表重命名
虽然平常在用excel 2010重命名工作表的时候,一般可能会用"双击工作表"的方法来重名,但是遇到大批量重名的时候就很麻烦. 我的方法,先建一张新表,然后在第一列写好要命名的表名 ...
随机推荐
- thinkphp5.1的安装
首先,下载composer.建议选择全屏安装.参考资料https://docs.phpcomposer.com/00-intro.html.安装到c盘.这个跟之前nodejs一样,都是装c盘.大概是全 ...
- storm(3)-本机模式-helloworld
pom.xml <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-c ...
- 20190430-PPK大佬的三个Viewport
写在前面的乱七八糟:在知识的海洋里狗刨,越刨会越自我膨胀,膨胀过后的自己,又会发现自己的渺小~ 目录 1.viewport 2.css的1px 3.三个viewport 参考文献: https://b ...
- ubuntu下nodejs环境搭建
#0.0.0.0 account.jetbrains.com”添加到hosts文件中 apt-get升级 sudo apt-get upgrade apt-get更新 sudo apt-get upd ...
- 《大数据日知录》读书笔记-ch1数据分片与路由
目前主流大数据存储使用横向扩展(scale out)而非传统数据库纵向扩展(scale up)的方式.因此涉及数据分片.数据路由(routing).数据一致性问题 二级映射关系:key-partiti ...
- openerp学习笔记 数据合法性约束(对象约束+数据库约束)
#检测同一时间段内是否存在相同的请假单,False 是存在,不允许创建 def _check_date(self, cr, uid, ids): for rec in self.b ...
- DB2 锁问题的监控和解决
常见的锁问题包括: 锁等待 锁超时 锁升级 死锁 而根据问题的特性通常分为两种: 实时事件:问题正在发生 历史事件:问题已经过去 如果实时事件,DBA 可以通过查看表信息.GET SNAPSHOT 或 ...
- unittest简介
unittest是python里面的单元测试框架 1 unittest 简介 1).先导入 unittest2).用 help 函数查看源码解析3).查看描述:Python unit testing ...
- 解决display none到display block 渲染时间过长的问题,以及bootstrap模态框导致其他框中input不能获得焦点问题的解决
在做定制页面的时候,遇到这么一个问题,因为弹出框用的是bootstrap的自带的弹出框,控制显示和隐藏也是用自带的属性控制 控制显示,在触发的地方 例如botton上面加上 data-toggle=& ...
- 登陆界面背景动画的css样式
为了达到更好的用户体验,登陆界面需要设计多张背景图进行动态切换 <!doctype html> <html lang="en"> <head> ...