Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()), / 25 сообщений из 31, страница 1 из 2
08.05.2020, 16:31
    #39955384
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
Код: sql
1.
Created         DATETIME            NOT NULL DEFAULT(GETDATE()),


приходится явно указывать
Код: c#
1.
obj.Created = DateTime.Now;


в чем интересно проблема, почему не сделают?
...
Рейтинг: 0 / 0
08.05.2020, 16:33
    #39955386
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
Хрустальный шар в студию.
...
Рейтинг: 0 / 0
08.05.2020, 16:55
    #39955401
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
...
Рейтинг: 0 / 0
08.05.2020, 17:00
    #39955403
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
listtoview,

можете пояснить, что значит "EF не понимает констрейт"
...
Рейтинг: 0 / 0
08.05.2020, 17:09
    #39955407
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
hVostt
listtoview,

можете пояснить, что значит "EF не понимает констрейт"

The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
The statement has been terminated.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
                var obj = new RoleMapEmps();

                obj.Owner = Models.Helpers.EmployeeHelper.GetCurrentUserLogin();
                obj.RoleId = rme.RoleId;
                obj.User = rme.User;
                //obj.Created = DateTime.Now;
                obj.Deleted = !flagDeleted ? null : (DateTime?)DateTime.Now;

                db.RoleMapEmps.Add(obj);

                db.SaveChanges();
...
Рейтинг: 0 / 0
08.05.2020, 17:10
    #39955408
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
причем тут conversion of a datetime2 data type to a datetime
непонятно

Код: c#
1.
2.
   [Display(Name = "Создано")]
        public System.DateTime Created { get; set; }
...
Рейтинг: 0 / 0
08.05.2020, 19:29
    #39955448
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
listtoview
причем тут conversion of a datetime2 data type to a datetime
непонятно

Мне кажется, что следует разобраться, если не понятно, а не спешить делать выводы "что EF не понимает констрейнт".
...
Рейтинг: 0 / 0
09.05.2020, 01:19
    #39955505
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
listtoview
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
The statement has been terminated.


Типу DateTime из .NET соответствует тип datetime2, но не datetime. Вам нужно использовать соответствующие типы, которые без проблем транслируются между .NET и СУБД.
...
Рейтинг: 0 / 0
10.05.2020, 22:26
    #39955765
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
hVostt
listtoview
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
The statement has been terminated.


Типу DateTime из .NET соответствует тип datetime2, но не datetime. Вам нужно использовать соответствующие типы, которые без проблем транслируются между .NET и СУБД.

это я понимаю, поэтому и неудобно, если подход Database First
наверное это связано с ограничением на мин и мак з-я в СУБД
...
Рейтинг: 0 / 0
10.05.2020, 22:57
    #39955772
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
hVostt
listtoview
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
The statement has been terminated.


Типу DateTime из .NET соответствует тип datetime2, но не datetime. Вам нужно использовать соответствующие типы, которые без проблем транслируются между .NET и СУБД.


Да тут, по-моему, типы данных вообще не при чем. Походу тут просто даже не непонимание как работает ЕФ и ОРМ вообще, а непонимание как работает DEFAULT на сиквеле. Когда сущность добавляется, то на сиквел с инсертом всегда пойдет конкретное значение - откуда же тогда сиквелу знать что в него дифолт значение надо подставить.
...
Рейтинг: 0 / 0
10.05.2020, 23:43
    #39955776
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
fkthat
hVostt
пропущено...


Типу DateTime из .NET соответствует тип datetime2, но не datetime. Вам нужно использовать соответствующие типы, которые без проблем транслируются между .NET и СУБД.


Да тут, по-моему, типы данных вообще не при чем. Походу тут просто даже не непонимание как работает ЕФ и ОРМ вообще, а непонимание как работает DEFAULT на сиквеле. Когда сущность добавляется, то на сиквел с инсертом всегда пойдет конкретное значение - откуда же тогда сиквелу знать что в него дифолт значение надо подставить.

замени на datetime2 и все заработает
не надо ля ля
...
Рейтинг: 0 / 0
12.05.2020, 00:54
    #39956050
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
fkthat
Да тут, по-моему, типы данных вообще не при чем. Походу тут просто даже не непонимание как работает ЕФ и ОРМ вообще, а непонимание как работает DEFAULT на сиквеле. Когда сущность добавляется, то на сиквел с инсертом всегда пойдет конкретное значение - откуда же тогда сиквелу знать что в него дифолт значение надо подставить.


Не, там ошибка связана именно с приведением значения типов. Тип datetime у MS SQL не способен принять весь диапазон значений DateTime из .NET.
...
Рейтинг: 0 / 0
12.05.2020, 10:13
    #39956128
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
hVostt
Не, там ошибка связана именно с приведением значения типов. Тип datetime у MS SQL не способен принять весь диапазон значений DateTime из .NET.

Ну, может быть, поверю на слово. Лично мне это без особой разницы, потому что в голову бы не пришло в 2020 году задавать дифолты в БД, а не в БЛ. Я обратил внимание, что ТС вообще отличается какими-то оригинальными подходами и почти все его вопросы-проблемы вызваны этими оригинальностями
...
Рейтинг: 0 / 0
12.05.2020, 11:17
    #39956160
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
fkthat
hVostt
Не, там ошибка связана именно с приведением значения типов. Тип datetime у MS SQL не способен принять весь диапазон значений DateTime из .NET.

Ну, может быть, поверю на слово. Лично мне это без особой разницы, потому что в голову бы не пришло в 2020 году задавать дифолты в БД, а не в БЛ. Я обратил внимание, что ТС вообще отличается какими-то оригинальными подходами и почти все его вопросы-проблемы вызваны этими оригинальностями

а если запрос отправит не ваше приложение?
на то они и констрейнты и дефолты в субд
...
Рейтинг: 0 / 0
12.05.2020, 11:21
    #39956166
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
listtoview
а если запрос отправит не ваше приложение?
А если у этого приложения будут права DDL и оно сможет удалить таблицу, тогда что?

У тебя трёхзвенка или где? В трёхзвенке доступ к БД имеет только сервер приложения. На крайняк отчетная система имеет доступ только по чтению.

Модератор: Тема перенесена из форума "ASP.NET".
...
Рейтинг: 0 / 0
12.05.2020, 11:27
    #39956173
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
Shocker.Pro
listtoview
а если запрос отправит не ваше приложение?
А если у этого приложения будут права DDL и оно сможет удалить таблицу, тогда что?

У тебя трёхзвенка или где? В трёхзвенке доступ к БД имеет только сервер приложения. На крайняк отчетная система имеет доступ только по чтению.

Модератор: Тема перенесена из форума "ASP.NET".

Т.е дефолты в БД плохо?
...
Рейтинг: 0 / 0
12.05.2020, 12:00
    #39956195
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
listtoview
Т.е дефолты в БД плохо?
Из чего такой вывод? Берем твой первоначальный пост и перечитываем
listtoview
EF не понимает констрейнт
Тебе сказали - при наличии EF констрейнты делаются на уровне БЛ, так как нет смысла администрировать сразу две системы констрейтнтов.
...
Рейтинг: 0 / 0
12.05.2020, 13:13
    #39956232
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
listtoview
на то они и констрейнты и дефолты в субд

насчет констрейнтов понятно, но дифолты тут каким боком? если так дальше пойти, то и триггера надо писать из расчета "вдруг не наше приложение".
...
Рейтинг: 0 / 0
12.05.2020, 13:17
    #39956237
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
fkthat
listtoview
на то они и констрейнты и дефолты в субд

насчет констрейнтов понятно, но дифолты тут каким боком? если так дальше пойти, то и триггера надо писать из расчета "вдруг не наше приложение".

И индексов насоздавать на всё возможные варианты из серии "а если запрос отправит не ваше приложение" :)
...
Рейтинг: 0 / 0
12.05.2020, 13:24
    #39956244
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
listtoview,

стороннее приложение должно ходить через API, иначе у вас база завязывает на себя лишнее (coupling)
и внесение изменений в БД просто так уже не сделаешь (время, ошибки, обиженные коллеги)
...
Рейтинг: 0 / 0
12.05.2020, 13:55
    #39956274
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
Дмитрий Мух
listtoview,

стороннее приложение должно ходить через API, иначе у вас база завязывает на себя лишнее (coupling)
и внесение изменений в БД просто так уже не сделаешь (время, ошибки, обиженные коллеги)

ok
просто база старая
я думал по быстрому цепануть энтити и наклепать страничку

вопрос снят, всем спасибо
...
Рейтинг: 0 / 0
12.05.2020, 14:05
    #39956283
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
listtoview
Дмитрий Мух
listtoview,

стороннее приложение должно ходить через API, иначе у вас база завязывает на себя лишнее (coupling)
и внесение изменений в БД просто так уже не сделаешь (время, ошибки, обиженные коллеги)

ok
просто база старая
я думал по быстрому цепануть энтити и наклепать страничку

Значит давно пора было сделать по-нормальному.

Вот зачем про какую-то там архитектуру спрашивать, если хочется наклепать по-быстрому?
...
Рейтинг: 0 / 0
12.05.2020, 15:05
    #39956323
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
listtoview
а если запрос отправит не ваше приложение?
на то они и констрейнты и дефолты в субд


Если у вас правильная трёх-звенка. То за такое по башке надо лупить :)
...
Рейтинг: 0 / 0
12.05.2020, 16:50
    #39956375
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
hVostt
listtoview
а если запрос отправит не ваше приложение?
на то они и констрейнты и дефолты в субд


Если у вас правильная трёх-звенка. То за такое по башке надо лупить :)

т.е вы не допускаете что одну базу может юзать несколько разных приложений?
...
Рейтинг: 0 / 0
12.05.2020, 17:21
    #39956387
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
listtoview

Т.е дефолты в БД плохо?

да не слушай ты студентов
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()), / 25 сообщений из 31, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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