相关疑难解决方法(0)

实体框架迁移:仅在-Script输出中包含Go语句

作为规划实体框架迁移的一部分,为了调试数据移动,我经常使用-Script参数来生成脚本.

然后,我可以将此脚本带到查询分析器并将其包装在事务中,以便手动测试它.

我遇到了一个需要Go语句才能正确执行脚本的情况.以下代码已添加到迁移中,以便在适当的位置输出Go.

Sql("GO");
Run Code Online (Sandbox Code Playgroud)

当使用-Script时,这会在正确的位置添加GO语句.但是当没有使用-Script时.我得到例外......

System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'GO'.
Run Code Online (Sandbox Code Playgroud)

有没有一种安全的方法可以将Go命令添加到脚本中?

entity-framework ef-migrations

17
推荐指数
2
解决办法
2894
查看次数

将"GO"语句添加到Entity Framework迁移

所以我有一个由Entity框架进行大量迁移的应用程序.我们希望立即获取所有迁移的脚本,并且使用该-Script标记可以正常工作.

但是......它没有GO在SQL中添加语句,给我们带来了类似的问题Alter view should be the first statement in a batch file...

我一直在搜索并手动添加Sql("GO");有关此问题的帮助,但针对整个脚本.当我再次使用包控制台管理器时,它返回一个异常.

System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'GO'.
Run Code Online (Sandbox Code Playgroud)

有没有办法添加这些GO标签使用时-Script的标签?如果没有,对此有什么好处?

注意:我们也尝试过多个文件,但由于我们有很多迁移,所以每次都几乎无法维护.

sql entity-framework ef-migrations

14
推荐指数
3
解决办法
5965
查看次数

代码优先迁移 - Update-database -script命令生成的SQL脚本无法正常工作

我必须通过Entity Framework 5使用以下模型创建数据库:

public class Post
{
        public int PostId { get; set; }
        [MaxLength(200)]
        public string Title { get; set; }
        public string Content { get; set; }

        public int BlogId { get; set; }
        public Blog Blog { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我添加了新的属性 Post

public string Abstract { get; set; }
Run Code Online (Sandbox Code Playgroud)

然后我跑了

Add-Migration AddPostAbstract
Run Code Online (Sandbox Code Playgroud)

在我的Migrations文件夹中创建了以下类,之后我通过添加一个SQL语句修改了这个文件

//201308300714477_AddPostAbstract.cs
public override void Up()
{
                AddColumn("dbo.Posts", "Abstract", c => c.String());
                Sql("UPDATE dbo.Posts SET Abstract = LEFT(Content, 100) WHERE Abstract IS …
Run Code Online (Sandbox Code Playgroud)

entity-framework ef-migrations entity-framework-5

4
推荐指数
1
解决办法
8732
查看次数