LinqDataSource.AutoGenerateWhereClause Ö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.
Denetimin koleksiyonda WhereParameters tanımlanan değerlere göre dinamik olarak where yan tümcesi oluşturup oluşturmadığını LinqDataSource gösteren bir değer alır veya ayarlar.
public:
property bool AutoGenerateWhereClause { bool get(); void set(bool value); };
public bool AutoGenerateWhereClause { get; set; }
member this.AutoGenerateWhereClause : bool with get, set
Public Property AutoGenerateWhereClause As Boolean
Özellik Değeri
true
LinqDataSource denetim Where yan tümcesini oluşturacaksa; değilse, false
. Varsayılan değer: false
.
Uygulamalar
Örnekler
Aşağıdaki örnekte, olarak ayarlanmış bir LinqDataSource denetim AutoGenerateWhereClause gösterilmektedir true
. Denetim GridView , sorgudan döndürülen verileri görüntülemek için denetime bağlıdır LinqDataSource . DropDownList Üç değerle doldurulan bir denetim eklenir. Veri nesnesinin WhereParameters özelliklerinden biriyle eşleşen ada sahip Category,
koleksiyona bir parametre eklenir. Özelliği ControlID denetimin kimliğine DropDownList ayarlanır. Denetim, LinqDataSource kullanıcının denetimden DropDownList seçtiği değere göre kayıtları filtrelemek için özelliğini otomatik olarak oluştururWhere. Sorgu, özelliği kullanıcının denetimden DropDownList seçtiği değerle eşleşen kayıtları Category
döndürür.
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
<asp:ListItem Value="Sports"></asp:ListItem>
<asp:ListItem Value="Garden"></asp:ListItem>
<asp:ListItem Value="Auto"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
AutoGenerateWhereClause="true"
ID="LinqDataSource1"
runat="server">
<WhereParameters>
<asp:ControlParameter
Name="Category"
ControlID="DropDownList1"
Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<asp:GridView
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
<asp:ListItem Value="Sports"></asp:ListItem>
<asp:ListItem Value="Garden"></asp:ListItem>
<asp:ListItem Value="Auto"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
AutoGenerateWhereClause="true"
ID="LinqDataSource1"
runat="server">
<WhereParameters>
<asp:ControlParameter
Name="Category"
ControlID="DropDownList1"
Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<asp:GridView
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
Açıklamalar
özelliğini true
olarak ayarladığınızda AutoGenerateWhereClause LinqDataSource denetim, koleksiyondaki parametrelerden Where yan tümcesini WhereParameters dinamik olarak oluşturur. Koleksiyona eklediğiniz her parametrenin WhereParameters özelliği sorgulanan veri nesnesindeki bir özellikle eşleşen bir değere ayarlanmalıdır Name . Otomatik olarak oluşturulan Where yan tümcesi, koleksiyonda belirtilen değerin WhereParameters veri nesnesindeki eşleşen özelliğin değerine eşit olup olmadığını denetler. Birden fazla parametre sağlarsanız, parametreler mantıksal AND
bir işlemle bağlantılıdır. İçeren veya boş değer içeren null
parametreler Where yan tümcesine dahil değildir.
Otomatik olarak oluşturulan Where yan tümce yalnızca eşitliği test edebilir ve parametreleri yalnızca işlemle AND
bağlayabilir. Eşitlik testi yapmayan AutoGenerateWhereClause bir koşul eklemeniz gerekiyorsa veya parametreleri işlemle OR
ilişkilendirmeniz gerekiyorsa özelliğini true
olarak ayarlamayın. Özelliğini olarak ayarlayarak ve koleksiyondaki AutoGenerateWhereClause false
her parametre WhereParameters için özelliğine Where yer tutucular ekleyerek bu görevleri gerçekleştirebilirsiniz. özelliğinde Where , her yer tutucu adının önüne @ simgesi ekleyin.
Özelliği olduğunda AutoGenerateWhereClause özelliğini true
ayarlamazsınız Where çünkü ayrıştırıcı Where yan tümcesini dinamik olarak oluşturur. LinqDataSource özelliği ise ve Where özelliğe true
değerler atanmışsa AutoGenerateWhereClause denetim bir özel durum oluşturur.