我限制访问SQL Server数据库&我必须从我的MVC项目改变表。我试过了:
var db = MyDbContext.Create();
try
{
var res =
db.Speakers.SqlQuery("ALTER TABLE [dbo].[Speakers] ADD [LastName] [nvarchar](256) NULL");
}
catch (Exception exception)
{
Console.WriteLine(exception);
}
它没有抛出异常但没有更新表。我不知道Raw查询是否允许更改。但我刚试了一下。任何人都可以告诉我如何更改数据库?
答案 0 :(得分:1)
可以使用以下命令将非查询命令发送到数据库 数据库上的 ExecuteSqlCommand 方法。例如:
using (var context = new BloggingContext()) { context.Database.ExecuteSqlCommand( "UPDATE dbo.Blogs SET Name = 'Another Name' WHERE BlogId = 1"); }
请注意,对数据库中的数据所做的任何更改都是使用的 在加载实体之前,ExecuteSqlCommand对上下文不透明 或从数据库重新加载。
实体框架原始SQL查询 https://msdn.microsoft.com/en-gb/data/jj592907.aspx
答案 1 :(得分:1)
尝试这种方法:
db.Database
.ExecuteSqlCommand("ALTER TABLE [dbo].[Speakers] ADD [LastName] [nvarchar](256) NULL");