0

我正在做一个非常基本的 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();
    }

在数据库上下文中

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 的无效值。问题出在哪里??

4

1 回答 1

0

更新

问题在于您的连接字符串。AttachDBFileName不喜欢您指定给它的值。\可能是 db 名称的问题,或 LocalDB 的问题,或路径中缺少/存在额外内容。

但是,如果您没有明确的使用理由AttachDBFileName,那么我建议您替换AttachDbFileName=[...].mdfInitial Catalog=yourDBName. 如果以这种方式出现问题,你会避免很多:)

于 2013-04-19T08:57:07.780 回答