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


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


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

можете пояснить, что значит "EF не понимает констрейт"
...
Рейтинг: 0 / 0
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
    #39955407
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
    #39955408
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
причем тут conversion of a datetime2 data type to a datetime
непонятно

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

Мне кажется, что следует разобраться, если не понятно, а не спешить делать выводы "что EF не понимает констрейнт".
...
Рейтинг: 0 / 0
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
    #39955505
Фотография 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 и СУБД.
...
Рейтинг: 0 / 0
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
    #39955765
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
    #39955772
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Это меганеудобно что EF не понимает констрейнт DEFAULT(GETDATE()),
    #39955776
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
hVostt
пропущено...


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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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


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