Entity Framework 4.0 Database First ve ASP.NET 4 Web Forms ile Çalışmaya Başlama - Bölüm 2
tarafından Tom Dykstra
Contoso University örnek web uygulaması, Entity Framework 4.0 ve Visual Studio 2010 kullanarak ASP.NET Web Forms uygulamaları oluşturmayı gösterir. Öğretici serisi hakkında bilgi için serideki ilk öğreticiye bakın
EntityDataSource Denetimi
Önceki öğreticide bir web sitesi, veritabanı ve veri modeli oluşturdunuz. Bu öğreticide, ASP.NET bir Entity Framework veri modeliyle EntityDataSource
çalışmayı kolaylaştırmak için sağladığı denetimle çalışırsınız. Öğrenci verilerini görüntülemek ve düzenlemek için bir GridView
denetim, DetailsView
yeni öğrenci ekleme denetimi ve DropDownList
bölüm seçme denetimi (daha sonra ilişkili kursları görüntülemek için kullanacaksınız) oluşturacaksınız.
Bu uygulamada, veritabanını güncelleştiren sayfalara giriş doğrulaması eklemeyebileceğinizi ve hata işlemenin bir bölümünün üretim uygulamasında gerekli olduğu kadar sağlam olmayacağını unutmayın. Bu, öğreticinin Entity Framework'e odaklanmasını ve çok uzun sürmesini engeller. Bu özellikleri uygulamanıza ekleme hakkında ayrıntılı bilgi için bkz. ASP.NET Web Sayfalarında Kullanıcı Girişini Doğrulama ve ASP.NET Sayfalar ve Uygulamalarda Hata İşleme.
EntityDataSource Denetimini Ekleme ve Yapılandırma
Varlık kümesindeki People
varlıkları okumak Person
için bir EntityDataSource
denetim yapılandırarak başlayacaksınız.
Visual Studio'nun açık olduğundan ve 1. bölümde oluşturduğunuz projeyle çalıştığınızdan emin olun. Veri modelini oluşturduktan sonra veya bu modelde yaptığınız son değişiklikten sonra projeyi oluşturmadıysanız projeyi şimdi derleyin. Proje oluşturulana kadar veri modelinde yapılan değişiklikler tasarımcının kullanımına sunulmaz.
Ana Sayfa şablonunu kullanarak Web Formu'nu kullanarak yeni bir web sayfası oluşturun ve bunu Students.aspx olarak adlandırın.
Ana sayfa olarak Site.Master'i belirtin. Bu öğreticiler için oluşturduğunuz tüm sayfalar bu ana sayfayı kullanır.
Kaynak görünümünde, aşağıdaki örnekte gösterildiği gibi adlı Content2
denetime bir h2
başlık Content
ekleyin:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Student List</h2>
</asp:Content>
Araç Kutusu'nunVeri sekmesinden bir EntityDataSource
denetimi sayfaya sürükleyin, başlığın altına bırakın ve kimliği olarak StudentsEntityDataSource
değiştirin:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Student List</h2>
<asp:EntityDataSource ID="StudentsEntityDataSource" runat="server">
</asp:EntityDataSource>
</asp:Content>
Tasarım görünümüne geçin, veri kaynağı denetiminin akıllı etiketine tıklayın ve ardından Veri Kaynağını Yapılandır'a tıklayarak Veri Kaynağını Yapılandırma sihirbazını başlatın.
ObjectContext'i Yapılandır sihirbazı adımında Adlandırılmış Bağlantı değeri olarak Okul Varlıkları'nı ve DefaultContainerName değeri olarak SchoolEntities'ı seçin. Ardından İleri'ye tıklayın.
Not: Bu noktada aşağıdaki iletişim kutusunu alırsanız, devam etmeden önce projeyi oluşturmanız gerekir.
Veri Seçimini Yapılandır adımında EntitySetName değeri olarak Kişiler seçin. Seç'in altında, A ll seç onay kutusunun seçili olduğundan emin olun. Ardından güncelleştirmeyi ve silmeyi etkinleştirmek için seçenekleri belirleyin. İşiniz bittiğinde Son'a tıklayın.
Veritabanı Kurallarını Silmeye İzin Verecek Şekilde Yapılandırma
Kullanıcıların tablodaki Person
öğrencileri silmesini sağlayan ve diğer tablolarla (Course
, StudentGrade
ve OfficeAssignment
) üç ilişkisi olan bir sayfa oluşturacaksınız. Varsayılan olarak, veritabanı diğer tablolardan birinde ilişkili satırlar varsa içindeki Person
bir satırı silmenizi engeller. önce ilgili satırları el ile silebilir veya bir satırı sildiğinizde veritabanını otomatik olarak silinecek Person
şekilde yapılandırabilirsiniz. Bu öğreticideki öğrenci kayıtları için veritabanını ilgili verileri otomatik olarak silecek şekilde yapılandıracaksınız. Öğrencilerin tabloda yalnızca ilişkili satırları olabileceğinden StudentGrade
, üç ilişkiden yalnızca birini yapılandırmanız gerekir.
Bu öğreticiyle birlikte projeden indirdiğiniz School.mdf dosyasını kullanıyorsanız, bu yapılandırma değişiklikleri zaten yapıldığından bu bölümü atlayabilirsiniz. Veritabanını bir betik çalıştırarak oluşturduysanız, aşağıdaki yordamları uygulayarak veritabanını yapılandırın.
Sunucu Gezgini'nde, 1. bölümde oluşturduğunuz veritabanı diyagramını açın. ile StudentGrade
arasındaki Person
ilişkiye (tablolar arasındaki çizgi) sağ tıklayın ve özellikler'i seçin.
Özellikler penceresinde INSERT ve UPDATE Belirtimi'ni genişletin ve DeleteRule özelliğini Art Arda olarak ayarlayın.
Diyagramı kaydedin ve kapatın. Veritabanını güncelleştirmek isteyip istemediğiniz sorulursa Evet'e tıklayın.
Modelin bellekteki varlıkları veritabanının yaptıklarıyla eşitlenmiş durumda tuttuğundan emin olmak için veri modelinde ilgili kuralları ayarlamanız gerekir. SchoolModel.edmx dosyasını açın, ile StudentGrade
arasındaki Person
ilişkilendirme satırına sağ tıklayın ve özellikler'i seçin.
Özellikler penceresinde End1 OnDelete değerini Art Arda olarak ayarlayın.
SchoolModel.edmx dosyasını kaydedip kapatın ve projeyi yeniden derleyin.
Genel olarak, veritabanı değiştiğinde modeli eşitlemeye yönelik birkaç seçeneğiniz vardır:
- Bazı değişiklik türleri (tablo, görünüm veya saklı yordam ekleme veya yenileme gibi) için tasarımcıya sağ tıklayın ve tasarımcının değişiklikleri otomatik olarak yapması için Veritabanından Modeli Güncelleştir'i seçin.
- Veri modelini yeniden oluşturma.
- Bunun gibi el ile güncelleştirmeler yapın.
Bu durumda, modeli yeniden oluşturabilir veya ilişki değişikliğinden etkilenen tabloları yenileyebilirdiniz, ancak sonra alan adı değişikliğini yeniden yapmanız gerekir (öğesinden FirstName
FirstMidName
öğesine).
Varlıkları Okumak ve Güncelleştirmek için GridView Denetimi Kullanma
Bu bölümde, öğrencileri görüntülemek, güncelleştirmek veya silmek için bir GridView
denetim kullanacaksınız.
Students.aspx dosyasını açın veya bu görünüme geçin ve Tasarım görünümüne geçin. Araç Kutusu'nunVeri sekmesinde, denetimin sağındaki EntityDataSource
bir GridView
denetimi sürükleyin, adını verinStudentsGridView
, akıllı etikete tıklayın ve veri kaynağı olarak StudentsEntityDataSource öğesini seçin.
Şemayı Yenile'ye tıklayın (onaylamanız istenirse Evet'e tıklayın), ardından Sayfalandırmayı Etkinleştir, Sıralamayı Etkinleştir, Düzenlemeyi Etkinleştir ve Silmeyi Etkinleştir'e tıklayın.
Sütunları Düzenle'ye tıklayın.
Seçili alanlar kutusunda PersonID, LastName ve HireDate alanlarını silin. Normalde kullanıcılara kayıt anahtarı görüntülemezsiniz, işe alma tarihi öğrencilerle ilgili değildir ve adın her iki bölümünü de tek bir alana yerleştirirsiniz, bu nedenle ad alanlarından yalnızca birine ihtiyacınız vardır.)
FirstMidName alanını seçin ve ardından Bu alanı TemplateField'e dönüştür'e tıklayın.
Aynı işlemi EnrollmentDate için de yapın.
Tamam'a tıklayın ve kaynak görünümüne geçin. Kalan değişikliklerin doğrudan işaretlemede yapılması daha kolay olacaktır. Denetim GridView
işaretlemesi artık aşağıdaki örneğe benzer.
<asp:GridView ID="StudentsGridView" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="PersonID"
DataSourceID="StudentsEntityDataSource">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:TemplateField HeaderText="FirstMidName" SortExpression="FirstMidName">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("FirstMidName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("FirstMidName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="EnrollmentDate" SortExpression="EnrollmentDate">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("EnrollmentDate") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("EnrollmentDate") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Komut alanından sonraki ilk sütun, şu anda adı görüntüleyen bir şablon alanıdır. Bu şablon alanının işaretlemesini aşağıdaki örneğe benzer şekilde değiştirin:
<asp:TemplateField HeaderText="Name" SortExpression="LastName">
<EditItemTemplate>
<asp:TextBox ID="LastNameTextBox" runat="server" Text='<%# Bind("LastName") %>'></asp:TextBox>
<asp:TextBox ID="FirstNameTextBox" runat="server" Text='<%# Bind("FirstMidName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="LastNameLabel" runat="server" Text='<%# Eval("LastName") %>'></asp:Label>,
<asp:Label ID="FirstNameLabel" runat="server" Text='<%# Eval("FirstMidName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Görüntüleme modunda, iki Label
denetim adı ve soyadını görüntüler. Düzenleme modunda, adı ve soyadını değiştirebilmeniz için iki metin kutusu sağlanır. Görüntüleme modundaki Label
denetimlerde olduğu gibi ve Eval
ifadelerini de veritabanlarına doğrudan bağlanan ASP.NET veri kaynağı denetimlerinde olduğu gibi kullanırsınızBind
. Tek fark, veritabanı sütunları yerine varlık özelliklerini belirtmenizdir.
Son sütun, kayıt tarihini görüntüleyen bir şablon alanıdır. Bu alanın işaretlemesini aşağıdaki örneğe benzer şekilde değiştirin:
<asp:TemplateField HeaderText="Enrollment Date" SortExpression="EnrollmentDate">
<EditItemTemplate>
<asp:TextBox ID="EnrollmentDateTextBox" runat="server" Text='<%# Bind("EnrollmentDate", "{0:d}") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="EnrollmentDateLabel" runat="server" Text='<%# Eval("EnrollmentDate", "{0:d}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Hem görüntüleme hem de düzenleme modunda, "{0,d}" biçim dizesi tarihin "kısa tarih" biçiminde görüntülenmesine neden olur. (Bilgisayarınız bu biçimi bu öğreticide gösterilen ekran görüntülerinden farklı görüntüleyecek şekilde yapılandırılmış olabilir.)
Bu şablon alanlarının her birinde tasarımcının varsayılan olarak bir Bind
ifade kullandığına, ancak bunu öğelerdeki bir Eval
ifadeyle değiştirdiğinize ItemTemplate
dikkat edin. İfade, Bind
koddaki GridView
verilere erişmeniz gerektiğinde verileri denetim özelliklerinde kullanılabilir hale getirir. Bu sayfada kodda bu verilere erişmeniz gerekmez, bu nedenle daha verimli olan öğesini kullanabilirsiniz Eval
. Daha fazla bilgi için bkz. Verilerinizi veri denetimlerinden çıkarma.
Performansı Artırmak için EntityDataSource Denetim İşaretlemeyi Düzeltme
Denetimin işaretlemesinde EntityDataSource
ve DefaultContainerName
özniteliklerini kaldırın ConnectionString
ve bunları bir ContextTypeName="ContosoUniversity.DAL.SchoolEntities"
öznitelikle değiştirin. Bu, nesne bağlam sınıfında sabit kodlanmış olandan farklı bir bağlantı kullanmanız gerekmediği sürece, her denetim oluşturduğunuzda EntityDataSource
yapmanız gereken bir değişikliktir. özniteliğinin ContextTypeName
kullanılması aşağıdaki avantajları sağlar:
- Daha iyi performans.
EntityDataSource
Denetim veDefaultContainerName
özniteliklerini kullanarakConnectionString
veri modelini başlatırken, her istekte meta verileri yüklemek için ek çalışma gerçekleştirir. Özniteliğini belirtirsenizContextTypeName
bu gerekli değildir. - Entity Framework 4.0'da oluşturulan nesne bağlamı sınıflarında (bu öğreticide olduğu gibi
SchoolEntities
) yavaş yükleme varsayılan olarak açıktır. Bu, gezinti özelliklerinin ihtiyacınız olduğunda ilgili verilerle otomatik olarak yüklendiği anlamına gelir. Yavaş yükleme, bu öğreticinin ilerleyen bölümlerinde daha ayrıntılı olarak açıklanmıştır. - Nesne bağlam sınıfına (bu örnekte sınıf) uyguladığınız tüm özelleştirmeler,
SchoolEntities
denetimi kullananEntityDataSource
denetimler tarafından kullanılabilir. Nesne bağlam sınıfını özelleştirmek, bu öğretici serisinde ele alınmayan gelişmiş bir konudur. Daha fazla bilgi için bkz. Entity Framework Oluşturulan Türlerini Genişletme.
İşaretlemesi artık aşağıdaki örneğe benzer (özelliklerin sırası farklı olabilir):
<asp:EntityDataSource ID="StudentsEntityDataSource" runat="server"
ContextTypeName="ContosoUniversity.DAL.SchoolEntities" EnableFlattening="False"
EntitySetName="People"
EnableDelete="True" EnableUpdate="True">
</asp:EntityDataSource>
EnableFlattening
Yabancı anahtar sütunları varlık özellikleri olarak sunulmadığından, özniteliği Entity Framework'ün önceki sürümlerinde gerekli olan bir özelliği ifade eder. Geçerli sürüm , yabancı anahtar ilişkilendirmelerinin kullanılmasını mümkün kılar; bu da yabancı anahtar özelliklerinin çoka çok ilişkilendirmeler dışında tümü için kullanıma sunulduğu anlamına gelir. Varlıklarınızda yabancı anahtar özellikleri varsa ve karmaşık türler yoksa, bu özniteliği olarak False
bırakabilirsiniz. Varsayılan değer olduğundan True
, özniteliği işaretlemeden kaldırmayın. Daha fazla bilgi için bkz. Nesneleri Düzleştirme (EntityDataSource).
Sayfayı çalıştırdığınızda öğrencilerin ve çalışanların listesini görürsünüz (sonraki öğreticide yalnızca öğrenciler için filtre uygulayacaksınız). Ad ve soyadı birlikte görüntülenir.
Görünümü sıralamak için bir sütun adına tıklayın.
Herhangi bir satırda Düzenle'ye tıklayın. Ad ve soyadını değiştirebileceğiniz metin kutuları görüntülenir.
Sil düğmesi de çalışır. Kayıt tarihi olan ve satır kaybolan bir satır için Sil'e tıklayın. (Kayıt tarihi olmayan satırlar eğitmenleri temsil eder ve bilgi tutarlılığı hatası alabilirsiniz. Sonraki öğreticide bu listeyi yalnızca öğrencileri içerecek şekilde filtreleyeceksiniz.)
Gezinti Özelliğinden Veri Görüntüleme
Şimdi her öğrencinin kaç kursa kayıtlı olduğunu öğrenmek istediğinizi varsayalım. Entity Framework bu bilgileri varlığın StudentGrades
gezinti özelliğinde Person
sağlar. Veritabanı tasarımı, öğrencinin not atanmadan kursa kaydolmasına izin vermediğinden, bu öğretici için bir kursla ilişkili tablo satırında bir satırın StudentGrade
olması, kursa kaydolmakla aynı olduğunu varsayabilirsiniz. Courses
(Gezinti özelliği yalnızca eğitmenler içindir.)
Denetimin EntityDataSource
özniteliğini ContextTypeName
kullandığınızda, bu özelliğe eriştiğiniz zaman Entity Framework bir gezinti özelliğine ilişkin bilgileri otomatik olarak alır. Buna gecikmeli yükleme denir. Ancak bu verimsiz olabilir çünkü her ek bilgi gerektiğinde veritabanına ayrı bir çağrı yapılmasına neden olur. Denetim tarafından EntityDataSource
döndürülen her varlık için gezinti özelliğinden verilere ihtiyacınız varsa, veritabanı için tek bir çağrıda varlığın kendisiyle birlikte ilgili verileri almak daha verimlidir. Buna istekli yükleme denir ve denetimin özelliğini EntityDataSource
ayarlayarak Include
gezinti özelliği için istekli yükleme belirtirsiniz.
Students.aspx'da her öğrenci için ders sayısını göstermek istiyorsunuz, bu nedenle en iyi seçenek istekli yüklemedir. Tüm öğrencileri görüntülüyor ancak yalnızca birkaçı için kursların sayısını gösteriyorsanız (işaretlemeye ek olarak bazı kodlar yazmanız gerekebilir), gecikmeli yükleme daha iyi bir seçim olabilir.
Students.aspx dosyasını açın veya geçiş yapın, Tasarım görünümüne geçin, öğesini seçin StudentsEntityDataSource
ve Özellikler penceresinde Include özelliğini StudentGrades olarak ayarlayın. (Birden çok gezinti özelliği almak istiyorsanız, adlarını virgülle ayırarak belirtebilirsiniz; örneğin, StudentGrades, Courses.)
Kaynak görünümüne geçin. Denetimde StudentsGridView
, son asp:TemplateField
öğeden sonra aşağıdaki yeni şablon alanını ekleyin:
<asp:TemplateField HeaderText="Number of Courses">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("StudentGrades.Count") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
İfadesinde Eval
gezinti özelliğine StudentGrades
başvurabilirsiniz. Bu özellik bir koleksiyon içerdiğinden, öğrencinin kayıtlı olduğu ders sayısını görüntülemek için kullanabileceğiniz bir Count
özelliği vardır. Sonraki bir öğreticide, koleksiyonlar yerine tek varlıklar içeren gezinti özelliklerindeki verilerin nasıl görüntüleneceğini göreceksiniz. (Gezinti özelliklerindeki verileri görüntülemek için öğeleri kullanamayacağınızı BoundField
unutmayın.)
Sayfayı çalıştırdığınızda artık her öğrencinin kaç kursa kayıtlı olduğunu görürsünüz.
Varlık Eklemek için DetailsView Denetimi Kullanma
Sonraki adım, yeni öğrenciler eklemenize olanak sağlayan bir denetime sahip bir DetailsView
sayfa oluşturmaktır. Tarayıcıyı kapatın ve Site.Master ana sayfasını kullanarak yeni bir web sayfası oluşturun. Sayfaya StudentsAdd.aspx adını verin ve Kaynak görünümüne geçin.
adlı Content2
denetimin mevcut işaretlemesini değiştirmek için aşağıdaki işaretlemeyi Content
ekleyin:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Add New Students</h2>
<asp:EntityDataSource ID="StudentsEntityDataSource" runat="server"
ContextTypeName="ContosoUniversity.DAL.SchoolEntities" EnableFlattening="False"
EnableInsert="True" EntitySetName="People">
</asp:EntityDataSource>
<asp:DetailsView ID="StudentsDetailsView" runat="server"
DataSourceID="StudentsEntityDataSource" AutoGenerateRows="False"
DefaultMode="Insert">
<Fields>
<asp:BoundField DataField="FirstMidName" HeaderText="First Name"
SortExpression="FirstMidName" />
<asp:BoundField DataField="LastName" HeaderText="Last Name"
SortExpression="LastName" />
<asp:BoundField DataField="EnrollmentDate" HeaderText="Enrollment Date"
SortExpression="EnrollmentDate" />
<asp:CommandField ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
</asp:Content>
Bu işaretleme, Students.aspx dosyasında oluşturduğunuz denetime benzer bir EntityDataSource
denetim oluşturur, ancak eklemeye olanak tanır. Denetimde GridView
olduğu gibi, denetimin ilişkili alanları da varlık özelliklerine DetailsView
başvurmaları dışında doğrudan veritabanına bağlanan bir veri denetimi için olduğu gibi kodlanmıştır. Bu durumda, DetailsView
denetim yalnızca satır eklemek için kullanılır, bu nedenle varsayılan modu olarak Insert
ayarlamış olursunuz.
Sayfayı çalıştırın ve yeni bir öğrenci ekleyin.
Yeni öğrenci ekledikten sonra hiçbir şey olmaz, ancak students.aspx dosyasını çalıştırırsanız yeni öğrenci bilgilerini görürsünüz.
Drop-Down Listesinde Verileri Görüntüleme
Aşağıdaki adımlarda, bir denetimi kullanarak bir DropDownList
varlık kümesine veri bağlamanız EntityDataSource
gerekir. Öğreticinin bu bölümünde, bu listeyle pek bir şey yapmayacaksınız. Ancak sonraki bölümlerde, kullanıcıların bölümle ilişkili kursları görüntülemek üzere bir bölüm seçmesine izin vermek için listeyi kullanacaksınız.
Courses.aspx adlı yeni bir web sayfası oluşturun. Kaynak görünümünde, denetime Content
adlı Content2
bir başlık ekleyin:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Courses by Department</h2>
</asp:Content>
Tasarım görünümünde, sayfaya daha önce yaptığınız gibi bir EntityDataSource
denetim ekleyin, ancak bu kez olarak adlandırınDepartmentsEntityDataSource
. EntitySetName değeri olarak Departmanlar'ı seçin ve yalnızca DepartmentID ve Name özelliklerini seçin.
Araç Kutusu'nunStandart sekmesinden bir DropDownList
denetimi sayfaya sürükleyin, adlandırınDepartmentsDropDownList
, akıllı etikete tıklayın ve Veri Kaynağı Seç'i seçerek DataSource Yapılandırma Sihirbazı'nı başlatın.
Veri Kaynağı Seçin adımında Veri kaynağı olarak DepartmanlarEntityDataSource'u seçin, Şemayı Yenile'ye tıklayın ve görüntülenecek veri alanı olarak Ad'ı ve değer veri alanı olarak DepartmentID'yi seçin. Tamam'a tıklayın.
Entity Framework kullanarak denetimi veri bağlamada kullandığınız yöntem, varlıkları ve varlık özelliklerini belirtmeniz dışında diğer ASP.NET veri kaynağı denetimleriyle aynıdır.
Kaynak görünümüne geçin ve denetimin hemen önüne DropDownList
"Bölüm seçin:" ifadesini ekleyin.
Select a department:
<asp:DropDownList ID="DropDownList1" runat="server"
DataSourceID="EntityDataSource1" DataTextField="Name"
DataValueField="DepartmentID">
</asp:DropDownList>
Anımsatıcı olarak, ve DefaultContainerName
özniteliklerini bir ContextTypeName="ContosoUniversity.DAL.SchoolEntities"
öznitelikle değiştirerek bu noktada denetimin işaretlemesini EntityDataSource
ConnectionString
değiştirin. Denetim işaretlemesini değiştirmeden EntityDataSource
önce, veri kaynağı denetimine bağlı veri bağlı denetimi oluşturana kadar beklemeniz genellikle en iyisidir, çünkü değişikliği yaptıktan sonra tasarımcı size veriye bağlı denetimde Şemayı Yenile seçeneğini sağlamaz.
Sayfayı çalıştırdığınızda açılan listeden bir bölüm seçebilirsiniz.
Bu, denetimi kullanmaya giriş işlemini EntityDataSource
tamamlar. Bu denetimle çalışmak genellikle diğer ASP.NET veri kaynağı denetimleriyle çalışmaktan farklı değildir; tek farkı, tablolar ve sütunlar yerine varlıklara ve özelliklere başvurmanızdır. Tek özel durum, gezinti özelliklerine erişmek istemenizdir. Sonraki öğreticide, denetimle EntityDataSource
kullandığınız söz diziminin verileri filtrelediğinizde, gruplandırdığınızda ve sıraladığınızda diğer veri kaynağı denetimlerinden de farklı olabileceğini göreceksiniz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin