-
Notifications
You must be signed in to change notification settings - Fork 0
/
ImportantNotes.txt
40 lines (24 loc) · 2.45 KB
/
ImportantNotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
------------------------------------------------------------------------------------------------------------------------
=====> Genel Bilgiler <=====
=> asp-for asp-action gibi özellikleri kullanabilmek için ilgili viewda _ViewImports dosyası içinde "@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers" olmalıdır.
=> ViewBag => İçerisinde küçük boyutlu verileri saklamamıza olanak sağlayan ve dynamic olarak bu verileri içerisinde tutan yapılardır. ViewBag kullanabilmek için ilgili action'da çağrılması gerekmektedir.
=> TempData => Geçici data adlandırılan bir yapıdır içerisinde object olarak verileri tutar. Tempdatayı bir kez tanımladıktan sonra farklı action'ların view'lerinde doğrudan kullanabiliriz.
=> Cookiler sadece browserda çalışır.
=> Soru?
Ef Core da bir sorgu çalışırken başka bir sorgu çalıştırdığımızda neden hata alıyoruz? Örneğin productRepository de foreach ile dönerken
categoryRepository de bir işlem yapıldığında "Entity Framework: There is already an open DataReader associated with this Command" hatası
vermektedir. Bu sorunun önüne bir değişkene List olarak atadığımızda önüne geçebildik.
=> Cevap
IQueryable tipinde bir istek yapıldığında bu Ram üzerinde tutulur. Ne zaman ToList() veya ToListAsync() dendiğinde veritabanından
bilgiyi çeker. Bu sebeple otomatik olarak gelen ayarda bir IQueryable sorgu tamamlanmadan başka bir IQueryable tipinde sorgu açıldığında
"Entity Framework: There is already an open DataReader associated with this Command" hatası gelir.
------------------------------------------------------------------------------------------------------------------------
Soru?
Product için create kısmında fotoğraf yüklendikten sonra update sayfasında herhangi bir özelliği değiştirdiğimizde imagepath null olarak geliyor. Bunun nedeni nedir? Çözüm olarak Fluent Api yöntemiyle null olamaz olarak database'e bağlanmıştır.
------------------------------------------------------------------------------------------------------------------------
=====> Proje İle İlgili Notlar <=====
-> BLL Katmanı Repository pattern mantığıyla kurgulanmıştır. IRepository ve BaseRepository den miras alan ilgili entity repositoryleri yer almaktadır.
-> Common Katmanında MailSender gibi projeye hizmet eden ortak classlar tanımlanmıştır.
-> DAL Katmanı database ile kurulan ilişki için Context ve Migrationlar yer almaktadır.
-> Entity Katmanında Abstract,Entity,Enum ve Interfaceler yer almaktadır.
-> WEB Kısmında ASP.Net MVC sistemi kullanılmıştır.