...пропадает возможность использовать кучу фишек самой СУБД. Так ли это?
На сколько это сказывается на производительности?
id_comments int primary key identity not null,
-- родительский комментарий: ноль - верхний уровень, больше нуля - идентификатор комментария
-- можно без привязки друг к другу, будет проще
parent_id int not null,
-- ссылка на комментируемый объект
id_комментируемые_объект int not null,
-- ссылка на автора
id_users int not null,
-- текст комментария
comment_text nvarchar(max) not null,
-- дата добавления
date_add datetime not null
-- еще что-нибудь, что потребуется. Например:
-- * ip пользователя;
-- * статус проверки модератором;
-- * рейтинг;
-- * счетчик жалоб пользователей;
-- * счетчик просмотров;
-- * и т.п., на сколько хватит фантазии
SELECT * FROM entries WHERE id_entries = @id_entries OR parent_id = @id_entries
SELECT * FROM comments WHERE id_entries IN
(SELECT id_entries FROM entries WHERE id_entries = @id_entries OR parent_id = @id_entries)
-- плохое решение, нужно лучше чесать репу. Но вечер, лень :-)
-- и в этом запросе я не уверен и не проверял его работу
-- просто для общей идеи
SELECT * FROM users WHERE id_users IN
(
SELECT DISTINCT(id_users) FROM entries WHERE id_entries = @id_entries OR parent_id = @id_entries
UNION
SELECT DISTINCT(id_users) FROM comments WHERE id_entries IN
(SELECT id_entries FROM entries WHERE id_entries = @id_entries OR parent_id = @id_entries)
)
string anyString = "00 00 00 00 00 00";
if(anyString.Trim("0 ".ToCharArray()).Length == 0)
{
// только нули
}
certInfo=123
{ certInfo: 123 }