Я использую webmatrix. Мой домашний сервер - Ubuntu/mono/nginx/fastcgi. Мой код прост. У меня есть база данных MySql с таблицей, содержащей 4 записи тестов.Sql select query возвращает только последнюю строку n раз
@{
var db = Database.Open("wra");
var sql = "SELECT * FROM Clients";
var clientinfo = db.Query(sql);
WebGrid grid = new WebGrid(clientinfo);
}
<div>
@grid.GetHtml()
</div>
Это все - не становится проще. Однако сетка возвращает только последнюю запись и отображает ее 4 раза (= количество записей). Я проверил это с другими базами данных и таблицами с таким же результатом. Ошибок нет, поэтому нет трассировки стека. Проблема не выглядит как webgrid, так как она отображает только результаты. Чтобы быть уверенным, я удалил webgrid и просто создал таблицу - тот же результат. Проблема не в том, что база данных, как я тестировал, с другими dbs с тем же результатом. Я также запускал запрос на сервере (с использованием шпатлевки) без пробоя, поэтому запрос должен работать. Я много искал для ответа. Я был бы признателен за любую помощь. Заранее спасибо.
Похож на ошибку в моно. –
Спасибо за ваш ответ Майк. Я иду к такому же выводу. Я протестировал его на своей машине Windows, и запрос был выполнен правильно. Возможно, мне придется написать эквивалент SQL-запроса, который я пытаюсь избежать. Любые другие предложения? –
Я не очень-то знаю о том, что должно поддерживать mono. .NET 4.0, но помощник базы данных и WebGrid полагаются на относительно новый тип 'dynamic'. Я предполагаю, что это является причиной проблемы. Попробуйте использовать ADO.NET и создайте собственную таблицу HTML из SqlDataReader. –