En iyi yanıtlayıcılar
Fonksiyona gönderdiğim değeri Nesnenin ismi olarak alma.

Soru
-
merhabalar yapmak istediğim şey fonksiyona gönderdiğim parametreleri textboxun name'i olarak belirtme. kodda gösteriyim.
KF.kullanici_firmalarDt.DataSource = sorgu.ToList();
burdaki kullanici_firmalarDt adlı datagridin adını dinamik belirtme şu şekilde
KF.parametre bu kısıma gelecek.DataSource = sorgu.ToList();
fonksiyonda görürseniz daha iyi anlayacaksınız.
public void Ara(string tablo,string kolon,string nesne,string dt)
{
kullanici_firmalar KF = (kullanici_firmalar)Form.ActiveForm;
var sorgu = context.TABLO PARAMETRESİ BURAYA GELCEK !!!!!!.Where(w => w.firma_adi.Contains(KF.kullanici_firma_ara_textbox.Text));
KF.kullanici_firmalarDt.DataSource = sorgu.ToList();
KF.kullanici_firmalarDt.RowsDefaultCellStyle.ForeColor = Color.White;
KF.kullanici_firmalarDt.RowsDefaultCellStyle.BackColor = Color.DarkRed;
}
mskorkt
Yanıtlar
-
sql injection kokusu alıyorum. lakin ile işini görebilirsin.
dbContext.Database.SqlQuery<SpecificModel>(string.Format("SELECT * FROM {0} WHERE ID=@p0", tableName), 1)
http://stackoverflow.com/questions/31035238/dynamic-table-name-with-entity-framework
eper detaylı arama işlevleri istiyorsan tavsiyem elasticSearch e bak.
- Yanıt Olarak İşaretleyen mskorkt 26 Aralık 2016 Pazartesi 11:03
Tüm Yanıtlar
-
sql injection kokusu alıyorum. lakin ile işini görebilirsin.
dbContext.Database.SqlQuery<SpecificModel>(string.Format("SELECT * FROM {0} WHERE ID=@p0", tableName), 1)
http://stackoverflow.com/questions/31035238/dynamic-table-name-with-entity-framework
eper detaylı arama işlevleri istiyorsan tavsiyem elasticSearch e bak.
- Yanıt Olarak İşaretleyen mskorkt 26 Aralık 2016 Pazartesi 11:03
-
select ben yazmak istemiyorum dersen. Stringden type almak için
var type = Type.GetType("A"); context.Set(type).Load(); var result = context.Set(type).Local.Cast<object>().ToList();
http://stackoverflow.com/questions/33855130/entity-framework-query-table-name-dynamically-based-on-input-parameter
-
-
o şekilde isteğimi karşılamıyor olmuyor yani şöyle bir çözüm buldum da bu seferde proje bitene kadar hangi stunu aramak istesem onun için if yazacam gibi.
public void Ara(string tablo,string kolon,string nesne,DataGridView dt)
{
if (tablo == "firmalar")
{
var sorgu = context.firmalar.Where(w => w.firma_adi.Contains(nesne));
dt.DataSource = sorgu.ToList();
}
else if (tablo == "markalar")
{
var sorgu = context.markalar.Where(w => w.marka_adi.Contains(nesne));
dt.DataSource = sorgu.ToList();
}
else if (tablo == "kullanici")
{
var sorgu = context.markalar.Where(w => w.marka_adi.Contains(nesne));
dt.DataSource = sorgu.ToList();
}
else if (tablo == "urunler")
{
var sorgu = context.urunler.Where(w => w.urun_adi.Contains(nesne));
dt.DataSource = sorgu.ToList();
}
else if (tablo == "personel")
{
var sorgu = context.personel.Where(w => w.personel_adi.Contains(nesne));
dt.DataSource = sorgu.ToList();
}
else
{
var sorgu = context.notlar.Where(w => w.not_baslik.Contains(nesne));
dt.DataSource = sorgu.ToList();
}
dt.RowsDefaultCellStyle.ForeColor = Color.White;
dt.RowsDefaultCellStyle.BackColor = Color.DarkRed;
}daha akılcı bir çözüm lazım
mskorkt