powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq и обрезаная дата
25 сообщений из 99, страница 2 из 4
Linq и обрезаная дата
    #37793495
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пипец, я дал готовое решение, вам мало что-ли? 12548055
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37793504
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708Алексей К,

Огромнейшее спасибо я решил проблему

protected void LinqDataSource2_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
const int Days = 7;
var nowMonth = DateTime.Now.Month;
var nowDay = DateTime.Now.Day;
var filter = from f in dc.BirthDays let t1 = new DateTime(2013, nowMonth, nowDay) let t2 = t1.AddDays(Days) where f.birthday1_feild >= t1 && f.birthday1_feild <= t2 orderby f.birthday1_feild select f;
e.Result = filter;
}Зачем 2013 ?! Моё решение не зависило от конкретного значения фиктивного года, хранящегося в БД.
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37793505
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПипец, я дал готовое решение, вам мало что-ли? 12548055 Ну не понравилось оно нам.
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37793528
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,


ПОДХОДИТ!!!!!!

Спасибо
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37793530
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

2013 - это я так для теста
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37793690
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЗачем 2013 ?! Моё решение не зависило от конкретного значения фиктивного года, хранящегося в БД.
Жестоко, Алексей, очень жестоко
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37793702
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КЗачем 2013 ?! Моё решение не зависило от конкретного значения фиктивного года, хранящегося в БД.
Жестоко, Алексей, очень жестоко Я не хотел. Так получилось.
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37795420
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

Если поставить другой год, то код не работает
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37795485
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708Алексей К,

Если поставить другой год, то код не работаетНадо не конкретный год подставлять, а сделать как у меня написано. Посмотри внимательнее на мой код.
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37796047
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу как так-то?!

Код: c#
1.
2.
3.
4.
5.
6.
7.
const int fakeYear = 2001;
const int days = 7;

var t1 = new DateTime(fakeYear, DateTime.Now.Month, DateTime.Now.Day);
var t2 = t1.AddDays(days);

employees = ctx.Employees.Where(e => e.BirthDay >= t1 && e.BirthDay <= t2);



Я использовал этот вариант, а здесь у тебя стоит год как константа
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37796347
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708Алексей КНу как так-то?!

Код: c#
1.
2.
3.
4.
5.
6.
7.
const int fakeYear = 2001;
const int days = 7;

var t1 = new DateTime(fakeYear, DateTime.Now.Month, DateTime.Now.Day);
var t2 = t1.AddDays(days);

employees = ctx.Employees.Where(e => e.BirthDay >= t1 && e.BirthDay <= t2);



Я использовал этот вариант, а здесь у тебя стоит год как константаНу как так-то?! Это не последнее моё решение. Смотри тут .
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37796385
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

Ой!
вижу, сейчас переделаю
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37796409
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КVIT2708У него тоже в коде проблема что год берется текущий а в базе год остается старыйТолько при сравнении год игнорируется. Жертвуем index seek, но без этого походу никак.

В общем, можно как-то так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    const int Days = 7

    var nowMonth = DateTime.Now.Month;
    var nowDay = DateTime.Now.Day;

    return from e in ctx.Employees
        let t1 = new DateTime(e.BirthDay.Year, nowMonth, nowDay)
        let t2 = t1.AddDays(Days)
        where e.BirthDay >= t1 && e.BirthDay <= t2
        select e;



А окуда взялся e.BirthDay. Year ?
это я понял - e.BirthDay, а Year - нет, даже компилятор ругается
таблица в базе
user_name - например Вася Пупкин
birthday - 01.12.2000 0:00:00
......
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37796531
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пипец, дал нормальный рабочий код. Нет, сидят, какие-то сопли пилят. Паранормально епт.
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37796583
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУИсправляю косяки linq-запроса, Лёня :)

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
int days = 7;
var now = DateTime.Today;

var employees = from emp in ctx.Employees
                let thisYearsBirthday = emp.BirthDay.AddYears(now.[color=red]Year [/color]- emp.BirthDay.[color=red]Year[/color]) 
                let nextBirthday = (thisYearsBirthday >= now) ? thisYearsBirthday : thisYearsBirthday.AddYears(1)
                where nextBirthday >= now && nextBirthday < now.AddDays(days)
                select emp;



emp.BirthDay.AddYears - откуда это берется, я что то не пойму и компилятор ругается
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37796884
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708, это день рождения, DateTime.
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37796932
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

вот часть таблицы
имя таблицы BirthDay
поля
user - vnarchar(256)
birthday - datetime

emp.BirthDay.AddYears - я что то не пойму как его прикрутить?
даже в Intellisence среди методов нет такого.
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37797187
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708это я понял - e.BirthDay, а Year - нет, даже компилятор ругаетсяРугается C# компилятор, или всё-таки LINQ2SQL-провайдер? Пользуешся Entity Framework или чем-то другим?
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37797197
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если пользуешся Entity Framework, то для работы с датами используй EntityFunctions Class .
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37797206
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708birthday - datetime
даже в Intellisence среди методов нет такого.

birthday - нуллейбл тип? Тогда birthday.Value.AddYears
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37797207
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708МСУ,

вот часть таблицы
имя таблицы BirthDay
поля
user - vnarchar(256)
birthday - datetime

emp.BirthDay.AddYears - я что то не пойму как его прикрутить?
даже в Intellisence среди методов нет такого.Ну как так?! BirthDay у тебя DateTime, а AddYears нету?
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37797209
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУbirthday - нуллейбл тип? Тогда birthday.Value.AddYearsГениально!
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37797217
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КVIT2708это я понял - e.BirthDay, а Year - нет, даже компилятор ругаетсяРугается C# компилятор, или всё-таки LINQ2SQL-провайдер? Пользуешся Entity Framework или чем-то другим?

использую LINQ2SQL-провайдер
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37797232
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУVIT2708birthday - datetime
даже в Intellisence среди методов нет такого.

birthday - нуллейбл тип? Тогда birthday.Value.AddYears

теперь есть
щас попробую сделать
...
Рейтинг: 0 / 0
Linq и обрезаная дата
    #37797243
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУVIT2708birthday - datetime
даже в Intellisence среди методов нет такого.

birthday - нуллейбл тип? Тогда birthday.Value.AddYears

Вот попробовал твой код, но он выводит весь список без фильтрации

int days = 7;
var now = DateTime.Today;
var filter = from emp in dc.BirthDays
let thisYearsBirthday = emp.birthday1.Value.AddYears(now.Year - emp.birthday1.Value.Year)
let nextBirthday = (thisYearsBirthday >= now) ? thisYearsBirthday : thisYearsBirthday.AddYears(1)
where nextBirthday >= now && nextBirthday < now.AddDays(days)
select emp;
...
Рейтинг: 0 / 0
25 сообщений из 99, страница 2 из 4
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq и обрезаная дата
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]