Asp.net mvc 3 您应该加入实体并将它们合并到POCO中吗?
有时我必须显示两个实体之间的关系。问题是,您是否应该在一个查询中检索所有数据(使用join语句) 例如,我有实体用户和图片。图片由一个用户创建。如果我想显示图片名称列表,以及谁上传了特定的图片 两种方法: 1) 使用实体框架关系,其中图片是一个实体,它有一个用户属性(创建它的用户)。用户也是一个实体Asp.net mvc 3 您应该加入实体并将它们合并到POCO中吗?,asp.net-mvc-3,Asp.net Mvc 3,有时我必须显示两个实体之间的关系。问题是,您是否应该在一个查询中检索所有数据(使用join语句) 例如,我有实体用户和图片。图片由一个用户创建。如果我想显示图片名称列表,以及谁上传了特定的图片 两种方法: 1) 使用实体框架关系,其中图片是一个实体,它有一个用户属性(创建它的用户)。用户也是一个实体 foreach(var picture : context.Pictures.all){ picture.name picture.user.name } 2) 将图片和用户组合成一个P
foreach(var picture : context.Pictures.all){
picture.name
picture.user.name
}
2) 将图片和用户组合成一个POCO对象,并将其返回给控制器。 控制器:
foreach(var pictureUser : dal.GetPictureUsers){
pictureUser.PictureName
pictureUser.UserName
}
GetPictureUsers()
{
PictureUser pictureUserPoc = new PictureUsersql.Include("Picture").include("User").Select(sa=> new PictureUser {
PictureName = sa.PictureName,
UserName = sa.UserName});
}
为了提高性能,建议采用后一种方法。就我个人而言,我会以前一种方式编写它,因为在数据访问层中,视图逻辑(打印图片和用户关系)中没有耦合您想要的内容
我希望我已清楚说明问题。
谢谢
模型代表图片;如果强键入视图,则可以使用它
@foreach (var profile in Model)
{
@Html.DisplayFor(model=>profile.PictureName);
@Html.DisplayFor(model=>profile.User.Name);
}