Bir sayfada önceden yüklenen ürünlerin listesinden farklı renklerin bir listesini yüklemeye çalışıyorum. Bu yüzden bunu ürünlerde çekme:Varlık Çerçevesi AsNoTracking molaları Ayrı olarak adlandırılıyor
Sonravar products = Products
.Include(p => p.ProductColor)
.ToList();
ben ürünleri tarafından kullanılan farklı renklerin bir listesini almak istiyorum bunlardan ürünlerde bazı işlem yapmak, bu yüzden bunu:
var colors = products
.Select(p => p.ProductColor)
.Distinct();
Ve bu harika çalışıyor, ancak orijinal ürün çağrısına .AsNoTracking()
numaralı telefona bir çağrı eklerseniz, şimdi ürün listemdeki her giriş için renk listemde bir giriş elde ediyorum.
Bu ikisinde neden bir fark var? Entity Framework'ün nesneleri takip etmesini (yalnızca okumak için kullanılıyor) ve istenen davranışı elde etmesinin bir yolu var mı?
İşte AsNoTracking()
var products = Products
.AsNoTracking()
.Include(p => p.ProductColor)
.ToList();
Yayınladığınız sayfadan .AsNoTracking sorgusuma girdiğinizde tam olarak yazmalı, –
@LukeMcGregor, '.AsNoTracking' ile yaptığım sorguyu kullanarak bu sorunu güncelledim – heavyd
Sadece bir yazım hatası mı yazdı sorgu ToList ile biter ve içinde hiç bir farklılık yok mu? –