2016-07-23 21 views
0

Mein Code läuft ohne Fehlermeldung, aber die Daten nicht in der Datenbank gespeichert. Was kann ich tun, damit die Daten gespeichert werden?Nicht funktionierende SaveChanges() Methode ASP.NET MVC

Nach Methode läuft SavePictureToDatabase Visual Studio zeigen diese Informationen:

Mein Modell:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace userGallery.Models 
{ 
    public class Image 
    { 
     public int Id { get; set; } 
     public int AccountId { get; set; } 
     public string Name { get; set; } 
    } 
} 

ModelContext:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Data.Entity; 

namespace userGallery.Models 
{ 
    public class ImageContext : DbContext 
    { 
     public DbSet<Image> Images { get; set; } 
    } 
} 

Controller:

public class UserController : Controller 
    { 
     ImageContext context = new ImageContext(); 

     // GET: User 
     public ActionResult Download() 
     { 
      return View(); 
     } 

     public string SavePictureToDatabase() 
     {  
      Image image = new Image() 
      { 
       AccountId = 1, 
       Name = "123", 
      }; 

      context.Images.Add(image); 
      context.SaveChanges(); 

      return urlPicture; 
     } 

Verbindungszeichenfolge:

<connectionStrings> 
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-userGallery-20160714070926.mdf;Initial Catalog=aspnet-userGallery-20160714070926;Integrated Security=True" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

Aufbau der Datenbank:

+1

haben Sie eine Verbindungszeichenfolge? –

+0

Verbindungszeichenfolge hinzugefügt Beitrag – noobprogrammer

+0

und schreiben Sie bitte die Ausnahme Stack-Trace. –

Antwort

0

Pass Connection zu DbContext, wenn Name DbContext Klasse und nicht gleich Connection

public class ImageContext : DbContext 
{ 
    public ImageContext(): base("DefaultConnection") 
    { 
    } 

    public DbSet<Image> Images { get; set; } 
} 
0

haben Sie irgendwelche Ausnahmen bekam?

Wenn Sie die Ausnahmen sehen, sollten Sie den folgenden Code schreiben.

try 
{ 
    Context.Content.Add(content); 
    Context.SaveChanges(); 
} 
catch (DbEntityValidationException e) 
{ 
    foreach(var eve in e.EntityValidationErrors) 
    { 
     Console.WriteLine("Entity \"{0}\" exceptions \"{1}\" :", eve.Entry.Entity.GetType().Name, eve.Entry.State); 
     foreach(var ve in eve.ValidationErrors) 
     { 
      Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); 
     } 
    } 
} 
Verwandte Themen