1
我想我已经把这一切都弄清楚了。这个问题是.NET MVC应用程序的上下文。如何处理ViewModel中的集合?
我的实体:(我会切换到功能NHibernate很快)
[Serializable]
[Class(Schema = "dbo", Table = "LiveMedia")]
[Cache(1, Usage = CacheUsage.ReadWrite)]
public class Media : NhBase<Media>
{
[Id(Name = "Id", Column = "ID"), Generator(1, Class = "native")]
public virtual int Id { get; set; }
[Property]
public virtual string Title { get; set; }
[Property]
public virtual string Description { get; set; }
[Property(Column = "TypeID")]
public virtual MediaType MediaType { get; set; }
[Property]
public virtual DateTime CreatedAt { get; set; }
[Property]
public virtual DateTime UpdatedAt { get; set; }
[Property]
public virtual string EmbedUrl { get; set; }
[Property]
public virtual string ThumbnailUrl { get; set; }
[Property]
public virtual string S3Filename { get; set; }
[XmlIgnore, Set(0, Table = "LiveCollectionMedia", Schema = "dbo", Cascade = CascadeStyle.AllDeleteOrphan, Lazy = true, Inverse = true), Key(1, Column = "MediaID"), OneToMany(2, Class = "BanffCentre.Business.Data.Live.MediaCollection, BanffCentre")]
public virtual ISet<MediaCollection> Collections { get; set; }
[XmlIgnore, Set(0, Table = "LiveMediaCategory", Schema = "dbo", Cascade = CascadeStyle.SaveUpdate, Lazy = true), Key(1, Column = "MediaID"), ManyToMany(2, Class = "BanffCentre.Business.Data.Live.Tag, BanffCentre", Column = "CategoryID")]
public virtual ISet<Tag> Tags { get; set; }
public Media()
{
Collections = new HashedSet<MediaCollection>();
Tags = new HashedSet<Tag>();
}
}
我的视图模型:
public class MediaAudioViewModel
{
public int? Id { get; set; }
[Required]
public string Title { get; set; }
public string Description { get; set; }
public MediaType MediaType { get; set; }
public string ThumbnailUrl { get; set; }
public IList<Tag> Tags { get; set; }
public string S3Filename { get; set; }
public HttpPostedFileBase AudioFile { get; set; }
}
问题:
一世 知道我不应该在我的视图模型“变量”实体的集合:
public IList<Tag> Tags { get; set; }
所以我是想图个TagViewModel这个呢?喜欢这个?
public IList<TagViewModel> Tags { get; set; }
如果这是一个许多一对多关系,我是想当我开始为标签创建视图的MediaViewModel从TagViewModel地图?
我想象如此......我只是觉得这个抽象的东西变得有点疯狂。只希望快速确认!
谢谢。
编辑
This post似乎回答我的问题。我刚刚找到它。我仍然对任何其他想法感兴趣。