LinqDataSource.Select Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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, Key
ProductCategory
ö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 RevenueThousands
olmak ü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 false
olarak 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ış
Verileri gruplandırırken, Select özelliğine dinamik olarak oluşturulan özellikler olan Key
ve It
ekleyebilirsiniz.
Key
özelliği, verileri gruplandırmak için kullanılan özellik veya özelliklerdeki değerlere başvurur. Örneğin, Category
adlı 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, Category
adlı 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.