我有以下代码:
var sql = System.IO.File.ReadAllText("data_tables.sql");
context.Database.ExecuteSqlCommand(sql);
我的data_tables.sql脚本包含SQL语句,例如:
SET IDENTITY_INSERT Application ON
INSERT INTO Application(ApplicationId, Name) VALUES (1, 'xxxx');
SET IDENTITY_INSERT Application OFF
DBCC CHECKIDENT( 'Application', RESEED )
我可以将这些文件放入类中并执行命令,而不是从文件中读取。我正在寻找的是一次执行所有命令的方法。
答案 0 :(得分:0)
您可以使用EntityFramework.Extended
使用.Future
查询来实现此目的。
// build up queries
var q1 = db.Users
.Where(t => t.EmailAddress == "one@test.com")
.Future();
var q2 = db.Tasks
.Where(t => t.Summary == "Test")
.Future();
// this triggers the loading of all the future queries
var users = q1.ToList();
答案 1 :(得分:-1)
实体框架的存在是为了让您更轻松地将数据从数据库获取到UI并返回,以及使用LINQ或扩展方法查询数据。如果您的SQL语句列表与此有关,那么进行某种转换可能是有利的。但是,如果您只是执行预先准备的SQL语句的“干”列表,那么我认为您当前的设置没有问题。
这与您尝试做的事情有很大关系,如果没有更多信息,很难提出策略。