Zom*_*eep 5 c# asp.net-mvc relationship linq-to-sql
我正在使用ASP.NET MVC中的图像库,并试图同时了解LINQ to SQL.我有3个表来保存图像库数据,通过链接表有很多关系.这些是 :
图库
(ID,名称,描述)图像
(Id,标题,描述,FileName)GalleryImage
(GalleryId,ImageId)
GalleryImage具有与其他两个表设置的FK关系.
我希望能够加载我的画廊,并显示与每个画廊相关联的图像,并且能够显示单个图像并列出与其关联的画廊.由于我是Linq to SQL的新手,我不知道该怎么做.有人可以指导我吗?
步骤1:创建表之间的关联。当以下情况发生时,您就会知道这是正确完成的
http://msdn.microsoft.com/en-us/library/bb629295.aspx
第 2 步:获取画廊列表:
using (CustomDataContext myDC = new CustomDataContext)
{
List<Gallery> result = myDC.Galleries.ToList();
}
Run Code Online (Sandbox Code Playgroud)
第 3 步:然后用户单击图库并且您想要它的图像:
using (CustomDataContext myDC = new CustomDataContext)
{
List<Image> result = myDC.Galleries
.Where(g => g.Id = selectedGallery.Id);
.SelectMany(g => g.GalleryImages)
.Select(gi => gi.Image)
.ToList()
}
Run Code Online (Sandbox Code Playgroud)
第 4 步:然后用户单击图像,您想要它的图库:
using (CustomDataContext myDC = new CustomDataContext)
{
List<Gallery> result = myDC.Images
.Where(i => i.Id = selectedImage.Id);
.SelectMany(i => i.GalleryImages)
.Select(gi => gi.Galleries)
.ToList()
}
Run Code Online (Sandbox Code Playgroud)
如果您只想加载整个数据库,请执行以下操作:
using (CustomDataContext myDC = new CustomDataContext)
{
DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<Gallery>(g => g.GalleryImages);
dlo.LoadWith<GalleryImage>(gi => gi.Image);
myDC.LoadOptions = dlo;
List<Gallery> result = myDC.Galleries.ToList();
}
Run Code Online (Sandbox Code Playgroud)
完成此操作后,整个对象图将被加载并连接以供您使用。
| 归档时间: |
|
| 查看次数: |
2296 次 |
| 最近记录: |