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批量建表的更多相关文章

  1. sql2000分享 批量建表dev_编号

    批量建表dev_3970000000014到dev_3970000000035 declare @i bigint declare @j int ) ) ) ) set @sql = '' set @ ...

  2. Mysql 批量建表存储过程

    最近项目中用到了使用存储过程批量建表的功能,记录下来: USE db_test_3; drop procedure if EXISTS `createTablesWithIndex`; create ...

  3. mysql创建存储过程,批量建表分表00到99

    这里以sqlyong为软件示例: --创建存储过程DELIMITER $$ CREATE PROCEDURE `createTablesWithIndex`() BEGIN DECLARE `@i` ...

  4. 原!mysql5.6 存储过程 批量建表

    由于业务需求,需要按天分表,因此写了个存储过程,根据时间生成表. 根据createTime 的时间,以及 while循环的变量设置范围,生成该指定日期及之后的多张表. BEGIN ); ); ; '; ...

  5. Mysql 存储过程批量建表

    CREATE DEFINER=`root`@`%` PROCEDURE `createTables`() begin declare i int; declare suffix varchar(20) ...

  6. SqlServer 循环建表、删除表、更新表

    常用于分库分表 1.批量删除 declare @outter int declare @inner int ) ) ) begin set @tablePrefix='BankPayOrder_'+c ...

  7. mysql 常用命令,连接数据库,查看建表语句,批量导入数据,批量更新数据,连接查询

    1. 1)MySQL 连接本地数据库,从cmd中进入mysql命令编辑器: root root分别为用户名和密码 mysql -uroot -proot 2)MySQL 连接本地数据库,用户名为“ro ...

  8. 批量导出hive表的建表语句

    转的这里的 首先先导出所有的table表 hive -e "use xxxdb;show tables;" > tables.txt 然后再使用hive内置语法导出hive表 ...

  9. Excel VBA ——批量工作表重命名

    虽然平常在用excel 2010重命名工作表的时候,一般可能会用"双击工作表"的方法来重名,但是遇到大批量重名的时候就很麻烦. 我的方法,先建一张新表,然后在第一列写好要命名的表名 ...

随机推荐

  1. opencv_python使用cv2.imread()读取中文路径报错问题(转)

    原地址:https://blog.csdn.net/liuqinshouss/article/details/78696032 1 说明 本篇中使用的opencv版本为3.3,python使用的版本为 ...

  2. http-https php文件下载

    http: function httpDownload($url, $path = '', $filename = '', $timeout = 60,$type = 0) { if ($url == ...

  3. Oracle之索引

    简介 1.说明 1)索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引.在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用索引可以不用翻阅整本书即可找到想要的信 ...

  4. java 的继承

    1 为什么要使用继承? 为了提取两个类中公共的代码,可以使用继承抽取重复性的代码到一个公共类中,这个公共的类称为父类(super class).继承于父类的类称为子类(sub class). java ...

  5. 递归迭代vector三种方法实现二路归并排序

    https://mp.csdn.net/mdeditor/84933084# 附链接

  6. (转)shell变量及扩展

    1.shell变量 shell变量赋值语句为”name=[value]“,等号两边不能有空格,可以给shell变量追加内容”name+=value“,取消shell变量的设置使用”unset name ...

  7. java项目部署总结

    环境问题一定要搞定,今天下午因为我本机的mysql版本较高,部署一个java项目,mysql jar驱动包8.0的版本无法使用,浪费了好长时间找问题. 总结:遇到问题多方位思考,尽快解决掉,提高工作效 ...

  8. 【c++】输出文件的每个单词、行

    假设文件内容为 1. hello1 hello2 hello3 hello4 2. dsfjdosi 3. skfskj ksdfls 输出每个单词 代码 #include <iostream& ...

  9. h5移动端设置键盘搜索

    点击键盘上的搜索按钮实现页面跳转 <form action="#list?goods_title={{message?message:''}}" @submit.preven ...

  10. Oracle 数据库字典 sys.col$ 表中关于type#的解释

    sys.col$ 表是oracle基础数据字典表中的列表,表中描述了数据库中各列信息,其中type#是列的数据类型.以下表格说明了各个数值的含义,以供参考. 值 说明 1 如果列 charsetfor ...