【发布时间】:2013-08-08 17:23:51
【问题描述】:
是否可以在输出之前隐藏某些字段?
为了简单起见,假设我有 User 和 Image 一个用户可以有多个图像。
用户
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public IEnumerable<Image> Images { get; set; }
}
输出
{
Id: "1",
Name: "Steve"
}
现在我想输出带有图像和不带有图像的User。有可能做这样的事情吗?
_db.Users.SingleOrDefault(x => x.Id == id).Except(x => x.Images);
- 这可以通过添加
[JsonIgnore]来实现,但这不是一个选项,因为我想在一些不同的请求中输出Images。 - 这可以通过输出匿名对象来实现,但这不是一种选择。
- 这可以通过创建 DTO 来实现,但即便如此,我如何才能将属性从模型自动分配给 dto?假设我有 30 个字段,我不想手动分配它们。
【问题讨论】:
-
你应该看看AutoMapper。
-
@Romoku 一目了然,这就是我所需要的。非常感谢,我会进一步调查。
标签: c# linq entity-framework dto