Я использую ServiceStack.OrmLite и хочу получить общее количество строк из таблицы. Я в настоящее время сделать, как указано в ServiceStack.OrmLite documentation черезПолучить имя таблицы класса во время выполнения в ServiceStack.OrmLite/избегать имен таблиц hardcoding
db.Scalar<int>("SELECT COUNT(*) FROM User");
Однако имя таблицы User
может измениться в будущем, так что я искал способ не жёстко его. Можно ли получить имя таблицы из его соответствующего класса, например,
string table_name = db.GetTableName<User>();
db.Scalar<int>("SELECT COUNT(*) FROM {0}", table_name);
?
Я не знаю, как динамически получить имя таблицы, но в вашем конкретном случае вам не нужно вручную писать SQL для операции count (*). Вы можете сделать что-то вроде ** dbConnection.GetScalar (e => Sql.Count (e.Id)); ** –
mbarthelemy