Snažím sa nasledovať túto príručku 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 (Časť 3 Kódex prichádza prvý), ale ja som ho nasledoval ako otrok.
Teraz mám nainštalovanú verziu MSDN, takže jej verziaVisual Studio Ultimate a nie Web developer Express 2010, ako používa, a ja som zvedavý, že jediný dôvod, prečo to nefunguje? Pretože potom to namiesto toho nainštalujem.
Túto chybu dostávam pri pokuse o prístup na lokalitu, ktorá by mala používať databázu
Server Error in "/" Application. Value cannot be null. Parameter name: key Description: An unhandled exception occurred during the
vykonania aktuálnej webovej požiadavky. Ďalšie informácie nájdete v prehľade zásobníka informácie o chybe a kde pochádza z kódu.
Exception Details: System.ArgumentNullException: Value
nemôže byť null. Názov parametra: kľúč
Source Error: Line 15: Line 16: Line 17: @foreach (var item in Model) Line 18: { Line 19: @item.Title Source File: c:UsersMech0zDocumentsVisual
štúdio 2010ProjectsFirstWebFirstWebViewsGalleryIndex.cshtml Riadok: 17
Stack Trace:
Môj kód je:
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>
Obrázok
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; }
}
}
Môj kontrolór
namespace FirstWeb.Controllers
{
public class GalleryController : Controller
{
GalleryDb _db = new GalleryDb();
//
// GET: /Gallery/
public ActionResult Index()
{
var model = _db.Pictures;
return View(model);
}
A moja galériaDB
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
});
}
}
}
Mám niekoľko ďalších metód, ktoré nie sú pracovným whicih je len niečo, keď som použil temp dáta bez SQL
Ale ako som povedal, nemôžem sa pripojiť k db tak, ako to robí.
Ale databáza musí byť spustená, pretože môžem vytvoriť používateľa a prihlásiť sa na ktoromkoľvek mieste
odpovede:
0 pre odpoveď č. 1Zdá sa, že táto entita nemá rád túto entitu
public HttpPostedFileBase File { get; set; }
Takže po odstránení z môjho modelu to fungovalo dobre