我是新來的asp.net & mvc實體框架。 我做一個後臺管理應用在虛擬財產上添加一個條目
這裏是我的App類:
public class AsyApp
{
[Key]
public int AsyAppId { get; set; }
[StringLength(255)]
[Required]
[DisplayName("Nom")]
public string Name { get; set; }
[StringLength(255)]
[Required]
[RegularExpression(@"com\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+", ErrorMessage = "Le Bundle n'est pas de la bonne forme (ex: com.Company.AppName)")]
public string Bundle { get; set; }
public virtual Theme Theme { get; set; }
public virtual AppIdentity AppIdentity { get; set; }
public virtual ICollection<Scene> Scenes { get; set; }
public virtual ICollection<FilePath> FilePaths { get; set; }
}
應用程序有連接到它的AppIdentity:
public class AppIdentity
{
[DisplayName("Ecran d'accueil")]
public virtual FilePath Splashscreen { get; set; }
[DisplayName("Icon")]
public virtual FilePath Icon { get; set; }
[DisplayName("Logo Application")]
public virtual FilePath LogoApp { get; set; }
[DisplayName("Logo Client")]
public virtual FilePath LogoClient { get; set; }
[Key, ForeignKey("AsyApp")]
public int AsyAppId { get; set; }
public virtual AsyApp AsyApp { get; set; }
}
這裏是我的DbContext
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
public DbSet<AsyApp> AsyApps { get; set; }
public DbSet<Theme> Themes { get; set; }
public DbSet<Scene> Scenes { get; set; }
public DbSet<AppIdentity> AppIdentities { get; set; }
public DbSet<FilePath> FilePaths { get; set; }
}
我有一個視圖,我編輯AppIdentity的應用程序陽離子。 我想更新例如Splashscreen屬性。
,我想到的是,當我做
appIdentity.Splashscreen = new FilePath();
它添加的文件路徑dbset條目的行爲; 將新文件路徑條目的AsyAppId設置爲當前的AsyApp。 但它不工作...
這裏是我的控制器
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(AppIdentity appIdentity)
{
var f = new FilePath();
f.AsyAppId = appIdentity.AsyAppId;
db.FilePaths.Add(f);
db.SaveChanges();
appIdentity.Splashscreen = f;
db.SaveChanges();
return RedirectToAction("Edit", "AppIdentity", new { asyAppId = appIdentity.AsyAppId });}}
任何幫助嗎?
預先感謝您,這會幫助我很多。 我只是不完全瞭解屬性如何虛擬作品的權利知道
所做的第一件工作的SaveChanges?我的意思是,是否將實體添加到FilePaths集合中?你在你的數據庫中找到它嗎? – user449689