Как сохранить объект сущности после удаления DataContext? - PullRequest
2 голосов
/ 05 августа 2011

Я использую этот стиль, когда я получаю данные из базы данных

public class User
{
    public static List<User> GetUsers()
    {
        List<User> users = new Users();
        using ( var context = new DataContext())
        {
            users = context.Users.ToList();
        }

        return users;
    }
}

После того, как я получаю данные из базы данных, я хочу фильтровать, пользователю нравится это

List<User> userResultList = User.GetUsers();   
userResultList.Where(u => u.IsActive == true);

Но я не могу фильтровать, и яполучить эту ошибку

Экземпляр ObjectContext был удален и больше не может использоваться для операций, требующих подключения.

Мой вопрос: возможный способ фильтрации объекта результатапосле удаления DataContext?

Большое спасибо за каждую поддержку.

Обновление !!!

Я думаю, что это возможно, если я создам новый DbContext в области действия метода, который я хочуполучить данные

Это достаточно хороший подход?

Пример

public class User
    {
        public static List<User> GetUsers()
        {
            List<User> users = new Users();

            var context = new DataContext())
            users = context.Users.ToList();

            return users;
        }
    }

1 Ответ

0 голосов
/ 05 августа 2011

Интересно, если вы клонируете список, обойдется ли ошибка?

User[] L = new User[users.Count];
users.CopyTo(L);

Предположение:

То, что у вас выглядит, должно работать на поверхности.

Интересно, является ли то, что возвращается ToList (), чем-то, что наследуется из списка, и сохраняет некоторую скрытую осведомленность о контексте внутри.

Я не могу проверить эту идею прямо сейчас.Что-то, о чем стоит подумать позже.

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