Я думаю что-то как Википедия, или американские данные переписи являются 'большой' базой данных. Мои персональные списки адресов или todos являются маленькой базой данных. Измеренная база данных середины является чем-то промежуточным.
Вы могли попытаться определить размеры тем, в каком количестве серверов Вы нуждались. Маленькая база данных является компонентом приложения, Вы работаете на своем рабочем столе, база данных среднего размера была бы единственным mysql (безотносительно) сервера где-нибудь, и большая база данных собирается потребовать нескольких серверов с некоторой репликацией/поддержкой кластерных систем.
Эта проблема возникает из-за того, что сущности linq обычно имеют связи между родительскими и дочерними элементами в обоих направлениях. Например, если у вас есть класс Order, сопоставленный с таблицей, а класс OrderItem сопоставлен с другой таблицей, вы ожидаете, что таблица OrderItem будет выглядеть так:
CREATE TABLE OrderItem ( ... OrderId int ссылки Order (Id) )
Сгенерированные сущности linq будут выглядеть следующим образом:
public class Order
{
//other members
public EntitySet<OrderItem> OrderItems { get; }
}
public class OrderItem
{
//other members
public Order Order { get; }
}
Это не может быть сериализовано, поскольку существует циклическая ссылка между заказом и каждым из его дочерних элементов OrderItem. Если вы используете linq2sql desiger для создания этих классов, вы можете указать ему создавать ссылки только в одном направлении (от родителя к потомку), щелкнув поверхность конструктора и изменив «Режим сериализации» на «Однонаправленный»
Может быть, опубликовать фактический класс для PersonAddress
? Мне интересно, например, есть ли у вас свойство ассоциации, помеченное [DataMember]
, или нет [DataMember]
вообще; в этом случае он просматривает поля - что может сработать, если у вас есть лениво загруженный член (и, следовательно, связь с контекстом данных).
Обратите внимание, что если вам нужен только один объект (а не ассоциации), существуют другие способы сделать неглубокий клон - , например, .