我的 MVC4 项目中有以下 POCO:
public class Gallery : ModelBase
{
public string Name { get; set; }
public string Description { get; set; }
public bool IsPublic { get; set; }
public string ThumbnailPath { get; set; }
[ForeignKey("Id")]
public ICollection<GalleryImage> Images { get; set; }
}
如果我创建一个新的 Gallery 实体,则 Images Collection 为空。如何将新图像(在我的情况下)添加到未初始化列表中?我的添加代码如下所示:
Guid gGallery = Guid.Parse(Request.Form.GetValues("galleryId")[0]);
Gallery gallery = db.Galleries.Where(g => g.Id == gGallery).Include(g => g.Images).First();
galleryimage.Id = Guid.NewGuid();
galleryimage.CreatedByUserId = WebSecurity.CurrentUserId;
galleryimage.InsertDate = DateTime.Now;
galleryimage.LastModDate = DateTime.Now;
db.GalleryImages.Add(galleryimage);
if (gallery.Images == null)
gallery.Images = new List<GalleryImage>();
gallery.Images.Add(galleryimage);
db.SaveChanges();
代码在运行时中断,出现此异常(对不起,仅限德语):
Ein Objekt vom Typ 'System.Collections.Generic.List`1[[gallery.Models.GalleryImage, gallery, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' kann für eine EntityReference vom Typ 'gallery.Models .GalleryImage' nicht 作为 Value-Eigenschaft festgelegt oder daraus entfernt werden。
现在如何将新项目添加到未初始化的集合中?