SQL Server 2005 - Возвращение данных в виде XML или таблиц данных - PullRequest
1 голос
/ 06 декабря 2010

У меня есть три класса

a) Parent - который содержит некоторые свойства, коллекцию Item и коллекцию дочерних элементов

b) Child - который содержит некоторые свойства и коллекцию Item

c) Элемент - который содержит некоторые свойства

Отношение изображено в приведенной ниже структуре XML.

<Parents>
    <Parent1>
        <Property1></Property1>
        <Property2></Property2>
        <Property3></Property3>
            <Parent1Children>
                <Child1>
                <Child1Property1></Child1Property1>
                <Child1Property2></Child1Property2>
                </Child1>
                <Child2>
                <Child2Property1></Child2Property1>
                <Child2Property2></Child2Property2>
                </Child2>
            </Parent1Children>  
        <Parent1SomeCollection>
            <Item1>
                <Item1Property1></Item1Property1>
                <Item1Property2></Item1Property2>
            </Item2>
            <Item2>
                <Item2Property1></Item2Property1>
                <Item2Property2></Item2Property2>
            </Item2>
        </Parent1SomeCollection>    
    </Parent1>  
</Parents>  

Мне нужно использовать данные из таблиц трех классоввыше.Я могу подумать о следующих параметрах: -

  1. Получить эту структуру в виде XML из базы данных, как показано выше, из хранимой процедуры и использовать то же самое, что и XDocument на бизнес-уровне.

  2. Получить в виде 3 таблиц из базы данных их в виде данных и установить связь между ними для получения данных?

Какая из них будетдать оптимальную производительность и лучший способ или есть лучшие способы сделать то же самое?

1 Ответ

1 голос
/ 07 декабря 2010

DataSet будет лучше хранить данные (при условии, что вы имеете в виду код .NET), и поддерживать отношения, предоставляя вам возможность сохранять данные в XML, а также выполнять массовые вставки и обновления. Так что производительность должна быть очень хорошей. Использование ORM также было бы хорошей идеей, поскольку ORM предоставил бы вам аналогичную функциональность, плюс он мог бы поддерживать LINQ (ORM, такие как Entity Framework и Linq-to-SQL).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...