Aracılığıyla paylaş


LinqDataSource.Select Özellik

Tanım

Alınan verilere dahil edilen özellikleri ve hesaplanan değerleri alır veya ayarlar.

public:
 property System::String ^ Select { System::String ^ get(); void set(System::String ^ value); };
public string Select { get; set; }
member this.Select : string with get, set
Public Property Select As String

Özellik Değeri

Select yan tümcesini oluşturmak için kullanılan dize.

Örnekler

Aşağıdaki örnekte, Select özelliğinin veri nesnesindeki özelliklerin bir alt kümesine nasıl ayarlanacağı gösterilmektedir.

<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Select="new(Name, Category, Price)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Select="new(Name, Category, Price)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

Aşağıdaki örnekte, verileri gruplandırmak için kullanılan bir özellikteki değerlerin nasıl alındığı ve gruplandırılmış kayıtların ortalamasının nasıl alındığı gösterilmektedir. Key anahtar sözcüğü, verileri gruplandırma için kullanılan özelliği içerir. Bu örnekte, KeyProductCategory özelliğinden paylaşılan değerleri içerir.

<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    GroupBy="Category"
    Select="new(Key as ProductCategory, 
            Average(Price) as AvePrice)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    GroupBy="Category"
    Select="new(Key as ProductCategory, 
            Average(Price) as AvePrice)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

Açıklamalar

Select özelliğini ayarlamazsanız, LinqDataSource denetimi veri nesnesinden tüm özellikleri (veri sütunları) alır. nesneden özelliklerin bir alt kümesini almak veya veriler alınırken yeni değerleri hesaplamak için Select özelliğini kullanırsınız.

Select özelliğini döndürülen verilere eklemek istediğiniz özelliklerin adlarına ayarlayarak hangi özelliklerin alınacağını belirtirsiniz.

Veri nesnesinden özelliklerin bir alt kümesini alırsanız, LinqDataSource denetimi dinamik olarak yalnızca Select özelliğinde belirttiğiniz özellikleri içeren bir sınıf oluşturur. Veri nesnesinde özellik olmayan özellikleri hesaplarsanız bir sınıf da dinamik olarak oluşturulur. Böyle durumlarda, sorgudan döndürülen nesne TableName özelliğinde belirtilen sınıfın bir örneği değildir. Bunun yerine, sorgudan yeni bir sınıf döndürüldüğünü belirtmek için Select özelliğinde new yöntemini kullanmanız gerekir. Örneğin, bu özelliklerden daha fazlasını içeren bir nesneden yalnızca FirstName ve LastName özelliklerini döndürmek için Select özelliğini new(FirstName, LastName)olarak ayarlayın. LinqDataSource denetimi, new yönteminde belirttiğiniz yeni sınıfı dinamik olarak oluşturur.

Seçilen bir değere diğer ad atamak için As anahtar sözcüğünü kullanabilirsiniz. Bir diğer ad atarsanız, new yöntemine diğer ad özellikleri eklemeniz gerekir. LinqDataSource denetiminden sonuçlara bağlanan tüm veri bağlı denetimler diğer adla özelliğine başvurmalıdır. Örneğin, Select özelliğini new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)olarak ayarlarsanız, veriye bağlı denetim SalesRegion ve RevenueThousandsolmak üzere iki özelliğe erişebilir.

aşağıdaki tabloda listelenen koşullara göre Select özelliğinde new işlevini kullanırsınız.

Seçmek Yeni kullanımı Örnek
Tek özellik. new gerekmiyor. Select="Category"
Birden çok özellik. new gerekli. Select="new(Category, Name)"
Diğer adı olan tek veya birden çok özellik. new gerekli. Select="new(Category As CategoryGroup)"

Otomatik veri değişikliklerini etkinleştirmek istiyorsanız ancak veri nesnesinden tüm özellikleri görüntülemek istemiyorsanız, Select özelliğini ayarlamayın. Bunun yerine, görüntüyü veriye bağlı denetim aracılığıyla yönetin. DetailsView denetimini veya GridView denetimini kullandığınızda, AutoGenerateRows veya AutoGenerateColumns özelliğini de falseolarak ayarlamanız gerekir. Veriye bağlı denetimde görüntülenmeyen tüm değerler görünüm durumunda depolanır. Bunlar, veri güncelleştirmesi gerçekleştirildiğinde veri kaynağına değiştirilmeden geçirilir.

Sorgudaki verileri gruplandırırken, Select özelliğine toplama yöntemleri ekleyebilirsiniz. Aşağıdaki toplama yöntemlerini kullanabilirsiniz:

  • Count()

  • Average( sütun)

  • Sum( sütun)

  • Max( sütun)

  • Min( sütun)

  • Where( koşulu)

  • Any()

  • All( koşulu)

Daha fazla bilgi için bkz. LinqDataSource Web Sunucusu Denetimine Genel Bakış ve nasıl yapılır: LinqDataSource DenetimiKullanarak Verileri Gruplandırma ve Toplama .

Verileri gruplandırırken, Select özelliğine dinamik olarak oluşturulan özellikler olan Key ve Itekleyebilirsiniz. Key özelliği, verileri gruplandırmak için kullanılan özellik veya özelliklerdeki değerlere başvurur. Örneğin, Categoryadlı bir özelliğe göre gruplandırdığınızda, Key özelliği Category özelliğindeki her benzersiz değeri içerir. It özelliği, bir veri grubundaki tek tek kayıtların bir koleksiyonuna başvurur. Gruplandırma işleminde birleştirilmiş tek tek kayıtları almak için It özelliğini yineleyebilirsiniz. Örneğin, Categoryadlı bir özelliğe göre gruplandırdığınızda, It özelliği Category özelliğinde ortak bir değeri paylaşan tüm tek tek kayıtları içerir.

Verileri gruplandırırken Select özelliğine It anahtar sözcüğünü eklerseniz, It anahtar sözcüğüne bir diğer ad atamanız gerekir. LinqDataSource denetimi, It bir diğer ada sahip değilse bir özel durum oluşturur. Key anahtar sözcüğüne bir diğer ad atayabilirsiniz, ancak bu gerekli değildir.

Şunlara uygulanır