|
|
Yayınlandı 19.02.2021 14:00:14
|
|
|
|

Entity Framework Core ile, ilişkisel veritabanı kullanırken orijinal SQL sorgusuna geçebilirsiniz. Gerekli sorgu LINQ'da temsil edilemediğinde, ham SQL sorgusu kullanılabilir. LINQ sorguları verimsiz SQL sorgularına neden oluyorsa ham SQL sorguları da kullanabilirsiniz. Ham SQL sorgusu, modelde genel bir varlık türü veya anahtarsız bir varlık türü döndürebilir.
Özet: Entity Framework (EF) ile SQL ifadeleri ve depolanmış prosedürlerin yürütülmesi.
SQL özet sorgulamaları, güncellemeler ve silmeler gerçekleştirin ve aşağıdaki yöntemlerle depolanmış prosedürleri ve görünümleri çağırın:
- FromSqlRaw
- FromSqlInterpolated
- ExecuteSqlRaw
- ExecuteSqlInterpolated
FromSqlRaw ve FromSqlInterpolated genellikle sorgu işlemleri için kullanılır ExecuteSqlRaw ve ExecuteSqlInterpolated, veritabanında ekleme, güncelleme ve silme işlemlerini gerçekleştirir ve etkilenen satır sayısını döndürür
Son, genellikle parametre ekleme, silme, değiştirme ve kontrol etmek için kullanılan bir interpolasyon anahtar kelimesidir ve dizi interpolasyon sözdizimi kullanarak SQL enjeksiyon saldırılarına karşı direnme yoludur. Örneğin:
Bir SQL ifadesi çıktısında, sorgu koşulları aşağıdaki şekilde gösterildiği gibi splicing'den geçmez:
Yerel SQL sorguları kullanılırken dikkat edilmesi gereken birkaç sınırlama vardır:
SQL sorguları, varlık türünün tüm öznitelikleri için veri döndürmelidir. Sonuç kümesindeki sütun adları, özniteliklerin eşlendiği sütun isimleriyle eşleşmelidir. Bu davranışın EF6'dan farklı olduğunu unutmayın. Orijinal SQL sorgusunun öznitelik/sütun eşleme ilişkisi EF6'da göz ardı edilir ve sonuç kümesi sütun adları öznitelik adlarıyla eşleşmelidir. SQL sorguları ilişkili veri içeremez. Ancak birçok durumda, sorgudan hemen sonra Include yöntemini kullanarak ilişkili verileri döndürebilirsiniz (bkz. İlişkili Veriyi Dahil et).
(Son)
|
Önceki:EF Core Series 4, oluşturulan SQL ifadelerine bakıyorÖnümüzdeki:Fiddler bağlantıları değiştiriyor, yönlendirme taleplerini talep ediyor
|