Удалить значение из entitycollection

#c# #entity #entitycollection

#c# #сущность #entitycollection

Вопрос:

Мне нужно удалить объект из entitycollection на основе некоторых значений.

 EntityCollection users = new EntityCollection();

List<string> UsersList = new List<string>();
UsersList.add("test1")
UsersList.add("test2")
UsersList.add("test3")


foreach (string item in UsersList )
                {
                    string ls = item;
                   // here I need to remove the users (entitycollection) value based on ls
                }
  

Комментарии:

1. Я думаю, вы должны выполнить его как запрос, поскольку для этого требуется итерация для каждого объекта.

2. foreach (строковый элемент в списке пользователей) { string ls = item; // здесь мне нужно удалить значение users (entitycollection) на основе ls var refer = users . Сущности. Ссылки. FirstOrDefault(r => r.value == ls); }

3. Если я использую для каждого состояния, я получаю следующую ошибку: «DataCollection<Entity>» не содержит определения для «Ссылок», и не может быть найден метод расширения «Ссылки», принимающий первый аргумент типа «DataCollection<Entity>» (вам не хватает директивы using илиссылка на сборку?)

Ответ №1:

Что-то вроде этого:

 class User
        {
            public string Name { get; set; }
        }

EntityCollection<User> users = new EntityCollection<User>();
        users.Add(new User() { Name = "test1" });

        List<string> UsersList = new List<string>();
        UsersList.Add("test1");
        UsersList.Add("test2");
        UsersList.Add("test3");


        foreach (string item in UsersList)
        {
            string ls = item;
            var user = users.Where(x => x.Name == ls).FirstOrDefault();
            if(user!=null)
                users.Remove(user); 
        }