ORM (Bltoolkit) で文字列形式の sql を使用します。必要なくLinqを使用することは好みません。
- 複雑なクエリを Linq で構築するのは困難です。Linq で複雑なクエリを作成するための十分なリソースがありません。
- ORM で文字列 sql を使用すると、SQL クエリの実践を改善できます。そうしないと、クエリが中断されます(LinqはSQLクエリを改善しないと思います)。
- バインド パラメータを使用して、SQL インジェクションからクエリを保護することもできます。
あなたの考えは?それは良い習慣ですか?
Linq なしで ORM (私の場合は BlToolkit) を使用する例を以下に示します。
var db = new Veritabani("HstConn");
try
{
var sorgu = @"select t.tcno ""KullaniciAdi"", t.ad ""Ad"", t.soyad ""Soyad"", t.kurum_kodu ""KurumKodu"",
t.ilkodu ""IlKodu"", t.kurum_turu ""KurumTuru"", t.e_posta ""Eposta"", t.dogrulama_kodu ""DogrulamaKodu""
from saglikcalisanlari t
where tcno = :kullaniciAdi
and sifre = :sifre";
return db.SetCommand(sorgu,
db.Parameter(":kullaniciAdi", kullaniciAdi.Trim()),
db.Parameter(":sifre", sifre.Trim().Md5Hash())).ExecuteObject<SaglikCalisani>();
}
catch (Exception exc)
{
throw new Exception("Veritabanı Hatası: " + exc.Message);
}
finally
{
db.Close();
db.Dispose();
}