我有一个现有的Image类,在我的应用程序中广泛使用。
我需要将图像的通用列表(List)返回给前端,但由于在我查询的第三方数据库中没有存储过程,因此我需要使用Linq to Sql。
我在我的DAL中创建了一个查询的数据库文件,如下所示:
ImageCat
ImageId
Name
Width
DateModified
Height
CatId
我的Image类如下:
public class Image
{
public int Id { get; set; }
public string Name { get; set; }
public int Width { get; set; }
public int Height { get; set; }
}
我的Linq to Sql如下:
var imageList = (from ic in db.ImageCats
where ic.CatID.Contains(category)
select ic).ToList();
var finalImageList = new List<Image>();
foreach (ImageCat ic in imageList)
{
Image image = new Image();
image.Id= ic.ImageID;
image.Height = (int)ic.Height;
image.Name = ic.Name;
image.Width = (int)ic.Width;
finalImageList.Add(image);
}
我不想遍历Linq to Sql结果来设置我的列表。有更简单的方法吗?最佳实践是什么?我不喜欢将我的dbml类暴露给表示层。