密钥attachdbfilename mvc 4的值无效

时间:2013-04-19 08:45:57

标签: asp.net-mvc-4

我正在做一个非常基本的MVC 4项目。我有一个简单的模型和一个dbcontext。我试图从表单中获取输入并使用dbcontext保存它。

这是我的代码, 在控制器中

    public ActionResult FormShow(Models.bullseye sampbe)
    {
        if (ModelState.IsValid)
        {
            var db = new bullseyeDataContext();
            db.bullseyes.Add(sampbe);
            db.SaveChanges();

            return RedirectToAction("FormShow");
        }

        return FormShow();
    }

在dbcontext

public class bullseyeDataContext : DbContext 
{
    public DbSet<bullseye> bullseyes { get; set; }

    static bullseyeDataContext()
    {
        Database.SetInitializer(new DropCreateDatabaseAlways<bullseyeDataContext>());
    }
}

连接字符串是

<add name="MvcFourFirstTouch.Models.bullseyeDataContext"
connectionString="Data Source=(LocalDb)\v11.0;
Integrated        Security=SSPI;AttachDBFilename=|DataDirectory|\MvcFourFirstTouch.Models.bullseyeDataContext.mdf" providerName="System.Data.SqlClient" />

当我提交表单时,我获得了密钥attachdbfilename的无效值。问题出在哪里?

1 个答案:

答案 0 :(得分:0)

<强>更新

问题在于您的连接字符串。 AttachDBFileName不喜欢您为其指定的值。可能是数据库名称的问题,或LocalDB的问题,或者路径中是否缺少/存在额外的\

但是,如果您没有明确的理由使用AttachDBFileName,那么我建议将AttachDbFileName=[...].mdf替换为Initial Catalog=yourDBName。如果以这种方式发布,你可以避免很多:)