【发布时间】:2013-11-29 11:32:00
【问题描述】:
我有两个实体:Person 和 Quote(一对多关系)
人物:
public class Person
{
public int PersonID { get; set; }
[Required]
[StringLength(20]
public string Name { get; set; }
[StringLength(30]
public string Relation { get; set; }
public byte[] Image { get; set; }
[StringLength(50)]
public string ImageMimeType { get; set; }
public virtual ICollection<Quote> Quotes { get; set; }
}
引用:
public class Quote
{
public int QuoteID { get; set; }
public int PersonID { get; set; }
[Required]
[StringLength(200)]
public string QuoteName { get; set; }
[StringLength(400)]
public string Context { get; set; }
public DateTime? Date { get; set; }
public virtual Person Person { get; set; }
}
我想创建一个 ViewModel 来以短格式显示引号 - 我只需要几个属性 - Person Name、QuoteName 和 Person Image。我可以做一些随意的事情,就像他们在每个 ASP.NET MVC 教程中展示的那样:
public class QuoteViewModel
{
public IEnumerable<Quote> Quotes { get; set; }
}
有没有更好的方法,而不是使用 Quote 类型创建 IEnumerable 并加载所有属性?
如何创建QuoteShort 模型并将QuoteViewModel 设置为IEnumerable<QuoteShort> QuotesShort。
在控制器中,我会将存储库中的每 3 个字段映射到 QuoteShort 并将其添加到 QuotesShort IEnumerable (即使我不知道如何将它们持久化到 QuotesShort IEnumerable )
一些例子表示赞赏。
【问题讨论】:
标签: c# asp.net-mvc entity-framework asp.net-mvc-4 asp.net-mvc-viewmodel