Как использовать нокаут, чтобы перебрать объект (не массив)

Я хочу использовать нечто подобное конструкции foreach Knockout для итерации по свойствам объекта. Вот что я пытаюсь создать ...

ЖЕЛАЕМЫЙ РЕЗУЛЬТАТ

<table>
    <tr>
        <td>Name 1</td>
        <td>8/5/2012</td>
    </tr>
    <tr>
        <td>Name 2</td>
        <td>2/8/2013</td>
    </tr>
</table>

Тем не менее, моя модель выглядит так ...

JS

function DataModel(){
    this.data = ko.observableArray([{
                        entityId: 1,
                        props: {
                            name: 'Name 1',
                            lastLogin: '8/5/2012'
                        }
                    },
                    {
                        entityId: 2,
                        props: {
                            name: 'Name 2',
                            lastLogin: '2/8/2013'
                        }
                    }]);
}

var dataModel = new DataModel();
ko.applyBindings(dataModel);

Каждая строка имеет entityId и реквизиты, которые являются самим объектом. Этот шаблон не работает, но как бы я изменил его для создания желаемой таблицы выше?

РЕДАКТИРОВАТЬ:props в этом примереname а такжеlastLogin, но мне нужно решение, которое не зависит от того, что содержится внутриprops.

у меня есть этоFIDDLE иди тоже.

HTML

<div data-bind="template: { name: 'template', data: $data }"></div>

<script type="text/html" id="template">
    <table>
        <tr data-bind="foreach: data()">
            <td data-bind="text: entityId"></td>  
        </tr>
    </table> 
</script>

Ответы на вопрос(8)

Ваш ответ на вопрос