【发布时间】:2009-10-12 13:37:01
【问题描述】:
对于一些集成测试,我想使用 LINQ to SQL 删除/重新创建测试数据库。我以前工作得很好,但是在这个项目中,数据库被分成几个模式。
当我尝试运行 ctx.CreateDatabase() 命令时,我遇到了这个异常:
指定的模式名称“xyz”要么 不存在或您没有 使用它的权限。
我用来执行此操作的登录名角色为dbcreator - 是否需要进一步的权限?当然,具有创建数据库权限的登录名也应该能够创建该数据库中包含的所有内容?
更新:
由于使用 LINQtoSQL 似乎没有解决这个问题的方法,有没有人推荐任何类似的工具来生成最好是免费的数据库?理想情况下,我不想为手写 sql 构建脚本而烦恼。
【问题讨论】:
-
SQL Server Management Studio 可以编写整个数据库的脚本。右键单击数据库,选择任务,然后选择“生成脚本”。对于更多功能,您可能需要考虑商业解决方案,例如 SQL Compare red-gate.com/products/SQL_Compare/index.htm。
标签: c# linq sql-server-2005 linq-to-sql integration-testing