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 bir dize.

Örnekler

Aşağıdaki örnekte, özelliğinin veri nesnesindeki Select ö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 özelliğinden KeyProductCategory paylaşılan değerleri içerecektir.

<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

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

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

Veri nesnesinden özelliklerin bir alt kümesini alırsanız, LinqDataSource denetim dinamik olarak yalnızca özelliğinde Select 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 özelliğinde TableName 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 özelliğinde Select yöntemini kullanmanız new gerekir. Örneğin, bu özelliklerden daha fazlasını içeren bir nesneden yalnızca FirstName ve LastName özelliklerini döndürmek için özelliğini olarak new(FirstName, LastName)ayarlayınSelect. Denetim, LinqDataSource yönteminde new belirttiğiniz yeni sınıfı dinamik olarak oluşturur.

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

özelliğindeki newSelect işlevini, aşağıdaki tabloda listelenen koşullara göre kullanırsınız.

Seçim Yeni kullanımı Örnek
Tek özellik. new gerekli değildir. 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 nesnesindeki tüm özellikleri görüntülemek istemiyorsanız, özelliğini ayarlamayın Select . Bunun yerine, veriye bağlı denetim aracılığıyla ekranı yönetin. Denetimi veya GridView denetimi kullandığınızdaDetailsView, veya AutoGenerateColumns özelliğini falseolarak da ayarlamanız AutoGenerateRows 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ırdığınızda, özelliğine Select 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(Durum)

  • Any()

  • All(Durum)

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

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

Verileri gruplandırırken özelliğine ItSelect anahtar sözcüğü eklerseniz, anahtar sözcüğüne It bir diğer ad atamanız gerekir. Diğer LinqDataSource adı yoksa It denetim bir özel durum oluşturur. Anahtar sözcüğüne Key bir diğer ad atayabilirsiniz, ancak bu gerekli değildir.

Şunlara uygulanır