【问题标题】:Cannot attach file as database. SQL Azure无法将文件附加为数据库。 SQL Azure
【发布时间】:2013-03-15 10:30:16
【问题描述】:

我在学习 SQL Azure 时遵循了这个教程,并成功完成了: Windows Azure Tutorial

我想创建一个类似的应用程序,但使用代码优先方法实现一个更复杂的数据库,并且在键入“update-database”命令时出现以下错误:

Cannot attach the file 'c:\users\dadler\documents\visual studio 2012\Projects\EliteTrainingAzure\EliteTrainingAzure\App_Data\EliteTrainingAzure.Models.EliteTrainingDB.mdf' as database 'EliteTrainingAzure.Models.EliteTrainingDB'.

这是我的连接字符串:

 <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-EliteTrainingAzure-20130325095843;User Intance = True;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-EliteTrainingAzure-20130325095843.mdf" providerName="System.Data.SqlClient"/>

最后是我如何处理外键创建的示例:

namespace EliteTrainingAzure.Models

{ 公共类客户端 { [钥匙] 公共 int ClientID { 获取;放; }

    public int GoalID { get; set; }
    [ForeignKey("GoalID")]
    public Goal Goal { get; set; }

    public int TrainerID { get; set; }
    [ForeignKey("TrainerID")]
    public Trainer Trainer { get; set; }

    public string ClientName {get; set;}
    public string ClientAddress { get; set; }
    public string ClientCity { get; set; }
    public string ClientState { get; set; }
    public string ClientZip { get; set; }

如果有人能指出我正确的方向来解决这个错误,那就太好了。提前致谢!

【问题讨论】:

标签: sql asp.net-mvc azure foreign-keys


【解决方案1】:

我在本地项目中不时遇到同样的问题。

虽然我还没有确定原因,但这似乎是一种解决方法:

将初始目录和 .mdf 文件重命名为新值并再次运行 Update-Database。

例如:

...Initial Catalog=aspnet-EliteTrainingAzure-20130325095843;...

...Initial Catalog=aspnet-EliteTrainingAzure-xxx;...

...AttachDBFilename=|DataDirectory|\aspnet-EliteTrainingAzure-20130325095843.mdf"

...AttachDBFilename=|DataDirectory|\aspnet-EliteTrainingAzure-xxx.mdf"

似乎也可以将连接字符串恢复为原始命名,并重命名实际的 .mdf 文件。

注意:我不知道这是否意味着底层数据库系统或数据迁移模型数据库被“孤立”的数据库引用弄得杂乱无章。 Update-Database 进程在处理 名称时似乎没有问题。

注意:请记住,这是一种解决方法,而不是解决方案。 :)

西格德

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    相关资源
    最近更新 更多