linq- все статьи тега
C# Фильтровать Элементы В Списке По Нескольким Критериям
Во-первых, какова моя ситуация здесь... У моего объекта SomeObject есть свойство string Status, которое меня интересует для этого сценария. Свойство Status может содержать значения" открыто"," закрыто"," готово " в точности. у меня есть метод под названием FilterObjects, который возвращает List<SomeObject> метод принимает аргумент, такой же, как и его возвращаемый тип, List<SomeObject> Метод должен фильтровать в соответствии со следующими случаями, описанными ниже, и возвращать ...
Jcontainer, JObject, JToken и Linq путаница
Мне трудно понять, когда использовать JContainer, JObject, и JToken. Я понимаю из "стандартов", что JObject состоит из JProperties и что JToken является базовым абстрактным классом для всех типов JToken, но я не понимаю JContainer. Я использую C# и только что купил LinqPad Pro 5. У меня есть источник данных JSON в файле, поэтому я успешно десериализую содержимое этого файла с помощью этого оператора: string json; using (StreamReader reader = new StreamReader(@"myjsonfile.json")) { json ...
Разница между cast и as внутри select в LINQ
Этот код создает исключение: var query = services .SomeQuery(bar).select(x => (Foo)x) .Where(x.PropertyOfFoo == FooState.SomeState); var result = query.ToList(); Исключение: Unable to cast the type... LINQ to Entities only supports casting EDM primitive or enumeration types. Этот код работает: var query = services .SomeQuery(bar).select(x => x as Foo) .Where(x.PropertyOfFoo == FooState.SomeState); var result = query.ToList(); ...
Решил C# Linq, чтобы найти запись, которая соответствует условию, если эта запись найдена, верните все связанные записи
Моя проблема : я ищу транзакции по счету, которые произошли в определенный день. Если я нахожу транзакцию на этот день, мне нужно собрать историю транзакций для счета и связать ее вместе. Мое текущее решение требует 2 операторов linq для правильного восстановления данных. Но у меня есть несколько других вызовов DB, поэтому я пытаюсь уменьшить нагрузку Мое текущее решение : Во-первых, я использую оператор linq для сбора всех транзакций, которые происходят в этот день и верните только номер счет ...
C#: обновить значение элемента в списке
Я ищу способ обновить элемент в списке, не перечисляя его самостоятельно. Я получил класс MyProjects, который содержит список именованных проектов. Я хочу найти MyProjects.Проекты-класс, где свойство члена Class1 (имя) равно значению "накладные расходы". Что работает: foreach (Project prj in MyProjects.Projects) { if (prj.Name == "Overhead") prj.IsActive = true; }; Я, однако, попытался сделать то же самое с помощью Linq, но не смог написать его в виде одной строки. Возможно л ...
Как отрефакторить это дублирование кода LINQ?
Я пытаюсь выяснить, как рефакторинг этого кода LINQ красиво. Этот код и другие подобные коды повторяются в том же файле, а также в других файлах. Иногда данные, которыми манипулируют, идентичны, а иногда данные меняются, и логика остается той же самой. Вот пример дублированной логики, работающей на различных полях различных объектов. public IEnumerable<FooDataItem> GetDataItemsByColor(IEnumerable<BarDto> dtos) { double totalNumber = dtos.Where(x => x.Color != null).Sum(p =&g ...
Использование IEqualityComparer для поиска записей
Я использую следующий IEqualityComparer для удаления специальных символов из названия компании перед сравнением следующим образом: public class CompanyNameIgnoringSpaces : IEqualityComparer<LeadGridViewModel> { public bool Equals(LeadGridViewModel x, LeadGridViewModel y) { var delimiters = new[] {' ', '-', '*', '&', '!'}; return delimiters.Aggregate(x.CompanyName ?? String.Empty, (c1, c2) => c1.Replace(c2, '')) == del ...
Множественная группировка ПО и сумма LINQ
У меня есть таблица продаж продуктов, которая выглядит следующим образом: saleDate prod qty 10/22/09 soap 10 09/22/09 pills 05 09/25/09 soap 06 09/25/09 pills 15 Мне нужно сделать сумму каждого месяца, чтобы итоговая таблица выглядела так: saleDate prod qty 10/09 soap 10 09/09 soap 06 09/09 pills 20 Могу ли я сделать это с LINQ? ...
Linq частичное совпадение в списке?
У меня есть список частичных строк, которые мне нужно сопоставить в таблице. Я использую PredicateBuilder. var predicate = PredicateBuilder.False<Name>(); List<string> names = new List<string>(); names.Add("test name"); **<===matches** names.Add("test"); **<=== doesn't match** predicate = predicate.Or(n => names.Contains(n.Company)); var results = (from n in Names .AsExpandable() .Where(predicate) select(new{ n.Company})); N. Company = "название теста" Это будет с ...
NHibernate & LINQ: использование Fetch () с пользовательским методом ToPagedList
У меня есть проблема с использованием метода nHibernate Fetch() (или FetchMany()) с моим методом подкачки, который использует фьючерсы для получения необходимой информации. И я не знаю, как это исправить, но я точно знаю, что он делает. Позвольте мне объяснить, что у меня есть до сих пор. Я использую метод расширения, найденный здесь, чтобы получить число строк в качестве будущего значения. это выглядит так. public static IFutureValue<TResult> ToFutureValue<TSource, TResult>(this ...
Как заполнить словарь с помощью LINQ?
public class Person { public string Email {get; set;} public string Name {get; set;} } public Report : Dictionary<string, string> { public Report() { List<Person> list = getData(); // filled with Person's var realList = list.Where(x => x.Name != "test"); foreach( var i in realList) { this.Add(i.Email,i.Name); } } } Я попытался упростить свой код, чтобы перейти к вопросу. В основном у меня есть ...
Что такое запрос LINQ, чтобы получить декартово произведение, даже если один набор пуст?
Представьте, что у меня есть 2 списка, и один из них пуст: List<string> foo = new List<string>(){ "Ali","wall-e","Ellie" }; List<string> bar = new List<string>(); И я получаю декартово произведение 2: var q = from f in foo from b in bar select new {f,b}; Поскольку bar пуст, LINQ возвращает пустой результирующий набор. Вопрос : Как я могу написать приведенный выше запрос, чтобы получить этот результирующий набор: Ali,NULL Wall-e,NULL Ellie,NULL ...
LINQ to SQL левое внешнее соединение
Эквивалентен ли этот запрос соединению LEFT OUTER? //assuming that I have a parameter named 'invoiceId' of type int from c in SupportCases let invoice = c.Invoices.FirstOrDefault(i=> i.Id == invoiceId) where (invoiceId == 0 || invoice != null) select new { Id = c.Id , InvoiceId = invoice == null ? 0 : invoice.Id } ...
Получить предыдущий и следующий элемент в IEnumerable с помощью LINQ
У меня есть IEnumerable пользовательского типа. (Что я получил от SelectMany) У меня также есть пункт (myItem) в том IEnumerable, что я желаю предыдущий и следующий пункт из IEnumerable. В настоящее время я делаю желаемое следующим образом: var previousItem = myIEnumerable.Reverse().SkipWhile( i => i.UniqueObjectID != myItem.UniqueObjectID).Skip(1).FirstOrDefault(); Я могу получить следующий элемент, просто вставив .Reverse. или , я мог бы: int index = myIEnumerable.ToList().Fi ...
Альтернатива IEnumerable.Пропустить(1).Возьмите(1).Одиночный()
У меня трудное время с кажущейся легкой и неловкой проблемой. Все, что мне нужно, - это следующий элемент в IEnumberable без использования Skip(1).Возьмите(1).Одиночный(). Этот пример иллюстрирует основную проблему. private char _nextChar; private IEnumerable<char> getAlphabet() { yield return 'A'; yield return 'B'; yield return 'C'; } public void sortAlphabet() { foreach (char alpha in getAlphabet()) { switch (alpha) { case 'A': //W ...
Тернарный оператор в LINQ where для обнуляемого типа bool столбец
Может ли кто-нибудь увидеть что-нибудь неправильное с тернарным в where этого утверждения linq: var organizations = Context.Set<Domain.Content.Organisation>() .Where(x => x.ShowCompanyPage == (showCompanyPagesOnly ? true : x.ShowCompanyPage)) Если showCompanyPagesOnly имеет значение true, я получаю 4 результата, это верно только четыре компании имеют ShowCompanyPage = true. Однако, если я установлю его в false, я ожидаю 1000 + результатов (все компании). Но я вс ...
Как проверить, совпадает ли элемент массива с любым элементом другого массива с помощью Linq?
Мне нужно постоянно проверять, выполняется ли один из нескольких процессов. До сих пор я использовал: Process[] Processes = Process.GetProcesses(); Для получения текущих запущенных процессов. У меня есть строковый массив, содержащий список процессов, которые я хочу убедиться, что они не запущены, прежде чем продолжить: string[] ProcessesToCheck = new string[] {"Chartvue", "collvue" ,"damage" ,"Datagen" ,"datagenlegacy" ,"FAST_SACS" ,"hullmesh ...
Инкремент в запросе LINQ
Здравствуйте у меня есть следующий код, который возвращает мне список типа Listitem. Я хочу увеличить значение на единицу для каждого выбранного Листита. public static List<System.Web.UI.WebControls.ListItem> GetMyCompassTUTListContent(List<int> ContentID, Int32 CountryID) { int Counter = 0; List<System.Web.UI.WebControls.ListItem> litems = new List<System.Web.UI.WebControls.ListItem>(); using (DbDataContext objContext = new DbDataContext()) { if ...
Свойства частичного класса недоступны через запрос LINQ, привязанный к GridView
Я добавил частичный класс к классу, созданному Entity Framework. Я хотел добавить вычисляемое поле, которое я мог бы привязать к своему GridView. Однако, когда я пытаюсь получить доступ к новому свойству, я получаю сообщение об ошибке, что это ограничение для Entity Framework. Существуют ли какие-либо обходные пути для достижения этой цели? ...
Linq distinct & max
Я должен запросить эту таблицу: symbol time ------ ---------- aaa 2013-04-18 09:10:28.000 bbb 2013-04-18 09:10:27.000 aaa 2013-04-18 09:10:27.000 bbb 2013-04-18 09:10:26.000 Мне нужна одна строка для всех различных символов, имеющих наибольшее значение времени. Как мне написать запрос linq? Заранее спасибо, ...