【发布时间】:2017-09-28 06:42:46
【问题描述】:
如果我需要创建自定义类型,我不知道应该将哪种对象从 DAL 传递到 BLL。
在 DAL 我有一个实体:
public class Note
{
[Key]
public int NoteId { get; set; }
[Required]
[Column(TypeName = "varchar(MAX)")]
public string Content { get; set; }
public DateTime CreatedDate { get; set; }
public DateTime ModifiedDate { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}
但我只需要返回 BLL:NoteId、Content 和 cmets 数量,它们不是垃圾邮件,所以在 DAL 中我有一个查询:
public IEnumerable<WhatIsIt> GetNotesWithNoSpamCommentsCount()
{
var whatIsIt = context.Notes.Select(x =>
new WhatIsIt
{
NoteId = x.NoteId,
NoteSummary = x.Content,
NoteCommentsCount = x.Comments.Where(y => y.IsSpam == false).Count()
}).ToList();
return whatIsIt;
}
我返回的是什么类型的对象 - 是数据访问对象或模型还是数据传输对象或业务对象或其他对象?
【问题讨论】:
标签: c# asp.net .net design-patterns architecture