したがって、作業する CreatedDate しかありません。
毎日午前 12 時に実行されるスケジュールされたタスクがあり、その月の同じ日に該当するすべてのレコードを取得する必要があります (ただし、CreatedDate == DateTime.Now の場合はそうではありません)。
これはデータベース呼び出しであるため、これを LINQ にすることをお勧めしますが、反復ロジックで十分だと思います。
私は今これを持っていますが、これには28日を超える日の問題があります:
var results = Context.Subscriptions.Where(
x => !(x.StartDate.Day == DateTime.Now.Day &&
x.StartDate.Month == DateTime.Now.Month &&
x.StartDate.Year == DateTime.Now.Year) &&
x.StartDate.Day == DateTime.Now.Day);
明確にするために質問を更新します。
たとえば、レコードの作成日は 2013 年 1 月 31 日です。このレコードは毎月取得する必要があります。しかし、すべての月に 31 日があるわけではないため、上記のコードはそれらの月には機能しません。その月に 31 日がない場合でも、毎月レコードをプルする必要があります。