我不确定采用哪种最佳方法。 LINQ查询对我来说很简单,但是我在这里寻找最有效的方法。
我有2个表格,Sliders和SliderItems。 SliderItem具有指向滑块ID的FK。
我一直在这样的特定滑块上获取信息:
public static List<Slider> GetSlider(Slider sItem)
{
DBContext db = new DBContext();
if (sItem.Id != Guid.Empty)
{
var list = from tbl in db.Sliders
where tbl.Id == sItem.Id
orderby tbl.Id
select tbl;
return list.ToList();
}
}
因此,我需要对主页执行的操作是将要填充到数据列表中的一组数据拉回。从而组合了与其一起的Slider + SliderItems。
我是否只是使用JOIN语句执行普通的LINQ查询,然后将它们扔回到返回到DataList的通用列表中?
赞赏任何想法和方向。
最佳答案
如果您的数据库已经具有适当的Sliders和SliderItems之间的外键关系,并且您的LINQ-to-SQL模型同时包括Slider和SliderItems,则搜索Slider会自动检索所有相关的SliderItems:
public static IEnumerable<SliderItems> GetSliderItems(Guid sliderId)
{
using (DataContext dc = new DataContext())
{
Slider result = dc.Sliders.Single(s => s.Id == sliderId);
return result.SliderItems;
}
}