Cevabın kesin olduğunu biliyorum. Son bir deneme girişimi olarak bu soruyu sormam gerektiğini düşündüm. Ben öncelikle aşağıdaki ifadeyi (ben sadece bu yüzden yanlış olabilir yazdım) oluşturur zamanki modaBir IQueryable ifadesini manuel olarak değiştirmek mümkün mü?
_context.Set<Foo>().Where(f => f.Bar == 999);
bir tablo sorgulamak için EF kodunu kullanıyorum
.
{SELECT
[Extent1].[Test] AS [Test],
[Extent1].[Test2] AS [Test2],
FROM [dbo].[Foo] AS [Extent1]
WHERE 19 = [Extent1].[Bar]}
Şimdi, elle Foo10, diyelim ki, tablo adını değiştirmek için bu sorguyu değiştirmek mümkün mü? (Muhtemelen değil)
Bunu yapan kişi, önce koddaki tablo adını "geç" olarak değiştirebileceğim bir yol biliyor mu?
Muhtemelen "Neden kirli kesmek?" Diye merak ediyorsun. Her zamanki gibi, bu, bazı tasarım sorunları olan ve değiştirilemeyen bir veritabanıyla eski bir sorundur.
Şimdiden teşekkürler.
Ps. Database.SqlQuery
'u kullanabileceğimin farkındayım ama yapmamayı tercih ederim.
Neden modelinizde Foo10' tablonuz yok? – BrokenGlass
Teknik olarak aynı model birden fazla tabloya yayılıyor. Verilerinizin bulunduğu tablo, –
(mjmcloug) parametresine bağlı olarak değişir, nasıl bağlıdır? – Krizz