C# 在where条件下使用中继器

C# 在where条件下使用中继器,c#,asp.net,webforms,repeater,C#,Asp.net,Webforms,Repeater,我正在用.net创建一个在线书店,我的repeater有问题。我用repeater显示所有书籍都没有问题,但我想显示销售记录超过平均水平的书籍。我在数据库中有一个“BookSales”属性,它保存一本书的销售量。我用codebehid对这段代码取平均值: ETicaretEntities1 entity = new ETicaretEntities1(); var salesAverage = entity.BookTable.Average(sales => sales.

我正在用.net创建一个在线书店,我的repeater有问题。我用repeater显示所有书籍都没有问题,但我想显示销售记录超过平均水平的书籍。我在数据库中有一个“BookSales”属性,它保存一本书的销售量。我用codebehid对这段代码取平均值:

ETicaretEntities1 entity = new ETicaretEntities1();
        var salesAverage = entity.BookTable.Average(sales => sales.BookSales);            
        float satisOrtalama = float.Parse(salesAverage.ToString());
“satisOrtalama”毫无问题地持有真实的平均浮动。以下是我展示书籍的观点:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="EntityDataSource1">
             <ItemTemplate>
                 <div class="templatemo_product_box">
                   <h1>EN ÇOK SATANLAR</h1>
                   <img src="<%#Eval("BookPicture") %>" alt="image" />
                     <div class="product_info">
                       <h2><%#Eval("BookName") %></h2>
                       <%#Eval("BookAuthor") %><br /><br />
                       <h3><%#Eval("BookPrice") %> TL</h3>
                    <div class="buy_now_button">
                        <a href="subpage.html" runat="server">Sepete Ekle</a>
                    </div>
                     </div> 
                 </div>    
             </ItemTemplate>
        </asp:Repeater>


例如,如果平均值为1,6,则我希望显示哪本书的“BookSales”属性2或更多。

我认为可以在绑定数据之前使用其他Linq表达式。并将您的中继器与新集合绑定。我认为这可能是工作:

var BookSalesMoreThan2=entity.BookTable.Where(p=>p.BookSales>(int)Math.Round(satisOrtalama,0));

如果您的数据源是数据集,是否可以使用DataView的Filter属性根据计算的平均值筛选数据?