Какие ошибки вы получаете? Это во время установки grpc.so или он установлен, но скрипт не может его загрузить? Кроме того, по приведенной вами ссылке «CentOS / RHEL 6» не поддерживается.
Какие даты у вас в столбце?
Все ли они вписываются в диапазон типа?
Кстати, правильный способ получить Объект типа
для конструктора DataColumn
- это ключевое слово typeof
, которое на несколько порядков быстрее.
Следовательно, чтобы создать столбец, вы должны написать
new DataColumn("myDate", typeof(DateTime))
] Проблема с наследованным атрибутом даты и времени
Это сообщение об ошибке, часто показывал, когда не допускающее NULL-значения поле даты имеет пустой указатель значения в, вставляют/обновляют время. Одной причиной может быть наследование.
, Если Ваша дата, наследовались базовому классу, и Вы не делаете отображение, которое не считает EF, это - значение.
Для получения дополнительной информации: https://weblogs.asp. net/manavi/inheritance-mapping-strategies-with-entity-framework-code-first-ctp5-part-3-table-per-concrete-type-tpc-and-choosing-strategy-guidelines
Самым простым было бы изменить вашу базу данных, чтобы использовать datetime2 вместо datetime. Совместимость работает отлично, и вы не получите ошибок.
Вы все равно захотите провести несколько тестов ...
Ошибка, вероятно, связана с тем, что вы пытаетесь установить дату на год 0 или что-то в этом роде - но все зависит от того, где вы можете что-то менять.
И DATETIME
, и DATETIME2
сопоставлены с System.DateTime
в .NET - вы не можете выполнить «преобразование», поскольку это действительно тот же тип .NET.
См. Страницу документации MSDN: http://msdn.microsoft.com/en-us/ library / bb675168.aspx
Есть два разных значения для « SqlDbType
» для этих двух - можете ли вы указать их в своем определении DataColumn
?
НО: в SQL Сервер, поддерживаемый диапазон дат сильно отличается.
DATETIME
поддерживает от 1753/1/1 до «eternity» (9999/12/31), а DATETIME2
поддерживает от 0001/1/1 до вечность.
Итак, что вам действительно нужно сделать, так это проверить год даты - если он раньше 1753 года,вам нужно изменить его на что-то ПОСЛЕ 1753, чтобы столбец DATETIME
в SQL Server обработал его.
Marc