Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 您如何管理数百个“客户”;“形状”;使用基于LINQ的模型_C#_Asp.net_Linq To Sql - Fatal编程技术网

C# 您如何管理数百个“客户”;“形状”;使用基于LINQ的模型

C# 您如何管理数百个“客户”;“形状”;使用基于LINQ的模型,c#,asp.net,linq-to-sql,C#,Asp.net,Linq To Sql,我有一个相对较小的数据集(可能有20个主表),但它有很多不同的查询方式 有时我们展示产品。有时是一个有图片的产品。有时是一个有图片和评论的产品。有时,一个有图片的产品和所有拥有该产品及其图片的用户 等等(我说的“等等”是指“更多的排列”) LINQ具有确保我们的查询通过DataLoadOptions获取所有必要信息的功能。然而,如果你想做“只给我看5条评论”之类的事情,你现在就在DataLoadOptions上使用AssociateWith方法,它现在(在我看来)非常接近DB,可以暴露给你的AS

我有一个相对较小的数据集(可能有20个主表),但它有很多不同的查询方式

有时我们展示产品。有时是一个有图片的产品。有时是一个有图片和评论的产品。有时,一个有图片的产品和所有拥有该产品及其图片的用户

等等(我说的“等等”是指“更多的排列”)

LINQ具有确保我们的查询通过DataLoadOptions获取所有必要信息的功能。然而,如果你想做“只给我看5条评论”之类的事情,你现在就在DataLoadOptions上使用AssociateWith方法,它现在(在我看来)非常接近DB,可以暴露给你的ASPX页面中的代码旁边的文件

所以-我很好奇人们是怎么处理的?他们真的用像GetProductsWithPictureSandUserComments(intCommentLimit,intPictureSize

…对于每一种排列?尤其是来自Rails背景,他们发现了这一点,这个解决方案看起来非常丑陋。所以,我希望还有其他东西。想知道其他人的经历是什么

谢谢!
Tom

好吧,LINQ的要点是你可以自己组合这些类型的查询。只要你有正确的模型到数据库的映射,你就可以用代码查询表的表示形式,然后用Take组合该查询,它将占据前n行。

据我所知,用Take组合被认为是不好的形式在ASP.NET页面中运行“Take”之类的操作;最好让您的模型层执行所有实际的查询执行。也就是说,页面应该提供已经检索到的数据,而不是那些方法并生成新的查询。这种看法是错误的吗?