В то время как можно использовать ForEach
дополнительный метод, если Вы хотите использовать просто платформу, можно сделать
collection.Select(c => {c.PropertyToSet = value; return c;}).ToList();
Эти ToList
, необходим для оценки выбора сразу из-за отложенные вычисления .
Учитывая, что ваша система уже написана и внедрена, самый простой подход к этой проблеме (и тот, который меньше всего влияет на существующую базу данных / код) - это добавить членство таблица истории, которая содержит столбцы MemberID, статус, тип и дату. Затем добавьте триггер UPDATE и INSERT в основную таблицу-член. Когда эти триггеры срабатывают, вы записываете новые значения для элемента (вместе с датой изменения статуса) в таблицу истории элементов. Затем вы можете просто запросить эту таблицу, чтобы получить историю для каждого члена.
Это довольно просто реализовать и никак не повлияет на существующую систему.
Я напишу это для вас, чтобы получить бесплатное членство. . :)
Самый простой подход к этой проблеме (и тот, который меньше всего влияет на существующую базу данных / код) - это добавить таблицу истории членства, которая содержит столбцы MemberID, status, type и date. Затем добавьте триггер UPDATE и INSERT в основную таблицу-член. Когда эти триггеры срабатывают, вы записываете новые значения для элемента (вместе с датой изменения статуса) в таблицу истории элементов. Затем вы можете просто запросить эту таблицу, чтобы получить историю для каждого члена.Это довольно просто реализовать и никак не повлияет на существующую систему.
Я напишу это для вас, чтобы получить бесплатное членство. . :)
Самый простой подход к этой проблеме (и тот, который меньше всего влияет на существующую базу данных / код) - это добавить таблицу истории членства, которая содержит столбцы MemberID, status, type и date. Затем добавьте триггер UPDATE и INSERT в основную таблицу-член. Когда эти триггеры срабатывают, вы записываете новые значения для элемента (вместе с датой изменения статуса) в таблицу истории элементов. Затем вы можете просто запросить эту таблицу, чтобы получить историю для каждого члена.Это довольно просто реализовать и никак не повлияет на существующую систему.
Я напишу это для вас для бесплатного членства. . :)
вы записываете новые значения для элемента (вместе с датой изменения статуса) в таблицу истории элементов. Затем вы можете просто запросить эту таблицу, чтобы получить историю для каждого члена.Это довольно просто реализовать и никак не повлияет на существующую систему.
Я напишу это для вас, чтобы получить бесплатное членство. . :)
вы записываете новые значения для элемента (вместе с датой изменения статуса) в таблицу истории элементов. Затем вы можете просто запросить эту таблицу, чтобы получить историю для каждого члена.Это довольно просто реализовать и никак не повлияет на существующую систему.
Я напишу это для вас, чтобы получить бесплатное членство. . :)
Я бы создал базу данных отчетов, которая была бы организована в виде звездообразной схемы. Измерение членства будет расположено во времени, так что будут разные строки для одного и того же элемента в разные моменты времени. Таким образом, разные строки в таблице фактов могут относиться к разным точкам истории.
Затем я бы создал процедуры обновления для периодического обновления базы данных отчетов, скажем, раз в неделю, из основной базы данных. Это то место, где должна была быть основная работа.
Затем я бы исключил отчеты из базы данных отчетов. Довольно легко сделать так, чтобы звездная схема выполняла те же действия, что и сводная таблица. Если необходимо, я бы получил какой-нибудь инструмент OLAP, который будет находиться перед базой данных отчетов.
Это большая работа, но со временем она окупится.
Я бы поместил информацию о членстве в отдельную таблицу с датами начала и окончания. Хранение клиента в отдельной таблице. Это неприятно, если вам постоянно нужна «текущая» информация о членстве, но есть много способов обойти это с помощью запросов или триггеров.
Я не могу порекомендовать вам достаточно, чтобы прочитать книгу Джо Селко «Sql для умных людей - продвинутое программирование на sql». у него есть целая глава о дизайне темпоральной базы данных И о том, как (эффективно и эффективно) запускать временную проекцию, Запросы выбора и временного соединения. И я бы не отдал ему должного, даже если бы попытался объяснить то, что он говорит в своей главе в этом посте.