2016-07-23 6 views
0

コードはエラーメッセージなしで実行されますが、データはデータベースに保存されません。データを保存するにはどうすればよいですか?この情報方法SavePictureToDatabase Visual Studioのショーを実行した後SaveChanges()メソッドASP.NET MVC

マイモデル:

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; } 
    } 
} 

コントローラ:

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; 
     } 

接続文字列:データベースの

<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> 

構造:

+1

をのConnectionStringはあなたに任意の接続文字列を行いますか? –

+0

接続文字列を追加しました – noobprogrammer

+0

と例外スタックトレースを書いてください。 –

答えて

0
DbContextに

渡したconnectionString、DbContextクラス名と同じではない

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

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

は、あなたが任意の例外を持っていますか?

例外が表示された場合は、以下のコードを記述する必要があります。

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); 
     } 
    } 
} 
関連する問題