我正在尝试遵循本指南http://www.pluralsight-training.net/microsoft/players/PSODPlayer.aspx?author=scott-allen&name=mvc3-building-data-i&mode=live&clip=0&course=aspdotnet-mvc3-intro(第3部分代码首先出现),但我像奴隶一样关注它。
现在我已经安装了一个MSDN版本,因此它的Visual Studio Ultimate而不是Web开发人员表达的2010就像他使用的那样,我想知道这个问题的唯一原因是什么?因为那时我会安装它。
当我尝试访问应该使用数据库的网站时,我收到此错误
Server Error in '/' Application. Value cannot be null. Parameter name: key Description: An unhandled exception occurred during the
执行当前的Web请求。 请查看堆栈跟踪了解更多信息 有关错误的信息和位置 它起源于代码。
Exception Details: System.ArgumentNullException: Value
不能为空。 参数名称:key
Source Error: Line 15: Line 16: Line 17: @foreach (var item in Model) Line 18: { Line 19: @item.Title Source File: c:\Users\Mech0z\Documents\Visual
演播室 2010 \项目\ FirstWeb \ FirstWeb \查看\库\ Index.cshtml 行:17
Stack Trace:
我的代码是:
的ConnectionString:
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
<add name="GalleryDb"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;initial catalog=GalleryDb"
providerName="System.Data.SqlClient"/>
</connectionStrings>
图片模型
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace FirstWeb.Models
{
public class Picture
{
public int ID { get; set; }
public string Title { get; set; }
public string Path { get; set; }
public List<Comment> Comments { get; set;}
public int ConcertYear { get; set; }
public HttpPostedFileBase File { get; set; }
public string UploadBy { get; set; }
}
}
我的控制器
namespace FirstWeb.Controllers
{
public class GalleryController : Controller
{
GalleryDb _db = new GalleryDb();
//
// GET: /Gallery/
public ActionResult Index()
{
var model = _db.Pictures;
return View(model);
}
我的galleryDB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace FirstWeb.Models
{
public class GalleryDb : DbContext
{
public DbSet<Picture> Pictures { get; set; }
public DbSet<Comment> Comments { get; set; }
public DbSet<Picture> GetPictures()
{
return Pictures;
}
public void AddPicture(Picture model)
{
Pictures.Add(new Picture
{
Title = model.Title,
Path = model.Path,
Comments = new List<Comment>(),
ConcertYear = model.ConcertYear
});
}
}
}
我有一些额外的方法不能正常工作,因为我在没有SQL时使用了临时数据
但是正如我说的那样我不能像他那样连接数据库(打字。\ sqlexpress并输入GalleryDb作为名称)并且它给了我一个错误
但数据库必须正在运行,因为我可以创建用户并随时登录
答案 0 :(得分:0)
显然数据实体不喜欢这个属性
public HttpPostedFileBase File { get; set; }
因此,从我的模型中删除后,它工作正常