Nano Hash - криптовалюты, майнинг, программирование

NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта после добавления столбца DateTime в ef7

Я новичок в asp.net mvc ef 7, пытаюсь перейти с vb.net.

У меня есть следующий класс

[Table("MatGrp")]
public class MatGrp
{
    [Key]
    public decimal Grp_RNo { get; set; }

    [Required]
    [MaxLength(30)]
    [Display(Name = "Group Code")]
    public string Grp_Code { get; set; }

    [Required]
    [MaxLength(100)]
    [Display(Name = "Group Name")]
    public string Grp_Name { get; set; }
    public decimal Cre_By { get; set; }
    public DateTime Cre_DtTm { get; set; }
    public decimal Mod_By { get; set; }
    [DataType(DataType.DateTime)]
    public System.DateTime Mod_DtTm { get; set; }

}

Я создал контроллер для этого класса, операции CRUD работают нормально, если я удалю общедоступный System.DateTime Mod_DtTm {get; набор; } из класса, но добавление этого столбца дает ошибку, как показано в этой трассировке стека.

При обработке запроса возникло необработанное исключение.

NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта.

lambda_method (закрытие, ValueBuffer)

NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта.

lambda_method (закрытие, ValueBuffer)

Microsoft.Data.Entity.Query.EntityLoadInfo.Materialize ()

Microsoft.Data.Entity.Query.Internal.QueryBuffer.GetEntity (IKeyValue keyValue, EntityLoadInfo entityLoadInfo, логический queryStateManager)

Microsoft.Data.Entity.Query.ExpressionVisitors.RelationalEntityQueryableExpressionVisitor.CreateEntity [TEntity] (IQuerySource querySource, ValueBuffer valueBuffer, Int32 valueBufferOffset, QueryContext queryContext, IEntityType materialTyuealuery elementTypeueery allowableQuery_ancultTypeQuery_InterType_InterType, KeyVullArtTypeQuery_InterfaceTypeue

lambda_method (закрытие, ValueBuffer)

System.Linq.Enumerable. ‹> C__DisplayClass7_0`3.b__0 (TSource x)

System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext ()

Microsoft.Data.Entity.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext ()

System.Collections.Generic.List1..ctor(IEnumerable1 коллекция)

System.Linq.Enumerable.ToList [TSource] (исходный код IEnumerable`1)

FMWeb.Controllers.MatGrpsController.Index () в MatGrpsController.cs

  1. return View (_context.MatGrp.ToList ());

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

Microsoft.AspNet.Mvc.Controllers.ControllerActionExecutor.ExecuteAsync (MethodInfo actionMethodInfo, экземпляр объекта, Object [] заказанныйActionArguments)

Microsoft.AspNet.Mvc.Controllers.ControllerActionInvoker.d__6.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter`1.GetResult ()

Microsoft.AspNet.Mvc.Controllers.FilterActionInvoker.d__53.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

Microsoft.AspNet.Mvc.Controllers.FilterActionInvoker.d__44.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Mvc.Infrastructure.MvcRouteHandler.d__6.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Routing.Template.TemplateRoute.d__27.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Routing.RouteCollection.d__9.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Builder.RouterMiddleware.d__4.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__18.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__18.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__18.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__18.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__18.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__18.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__18.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__18.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.ApplicationInsights.AspNet.ExceptionTrackingMiddleware.d__4.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.IISPlatformHandler.IISPlatformHandlerMiddleware.d__8.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Diagnostics.Entity.MigrationsEndPointMiddleware.d__5.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Diagnostics.Entity.DatabaseErrorPageMiddleware.d__6.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

Microsoft.AspNet.Diagnostics.Entity.DatabaseErrorPageMiddleware.d__6.MoveNext ()

--- Конец трассировки стека из предыдущего места, в котором возникло исключение ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи)

System.Runtime.CompilerServices.TaskAwaiter.GetResult ()

Microsoft.AspNet.Diagnostics.DeveloperExceptionPageMiddleware.d__7.MoveNext ()

Что не так ?? как анализировать / отлаживать след? заранее спасибо

Столбец Cre_DtTm допускает значение null. ниже приведен скрипт таблицы:

 CREATE TABLE [dbo].[MatGrp](  [Grp_RNo] [numeric](5, 0) NOT NULL,  
 [Grp_Code] [varchar](50) NOT NULL,  [Grp_Name] [varchar](50) NOT NULL,
 [Cre_By] [numeric](3, 0) NOT NULL,  [Cre_DtTm] [datetime] NULL, 
 [Mod_By] [numeric](3, 0) NOT NULL,  [Mod_DtTm] [datetime] NULL, 
 CONSTRAINT [PK_MatGrp_Grp_RNo] PRIMARY KEY CLUSTERED  ( [Grp_RNo] ASC
 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
 OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON
 [PRIMARY]

Ответы:


1

О, хо, я понял глупую ошибку. Столбец разрешает null в определении таблицы в базе данных, но он также должен разрешать null в классе (? В DateTime? Чтобы разрешить null) public DateTime? Cre_DtTm {получить; набор; }

Это решило проблему.

15.03.2016

2

проверить базу данных. Если это столбец NOT NULL, и вы добавили его, не используя значение по умолчанию, он станет очень ярким

12.03.2016
  • Столбец допускает значение null. 12.03.2016
  • СОЗДАТЬ ТАБЛИЦУ [dbo]. [MatGrp] ([Grp_RNo] [numeric] (5, 0) NOT NULL, [Grp_Code] [varchar] (50) NOT NULL, [Grp_Name] [varchar] (50) NOT NULL, [Cre_By ] [numeric] (3, 0) NOT NULL, [Cre_DtTm] [datetime] NULL, [Mod_By] [numeric] (3, 0) NOT NULL, [Mod_DtTm] [datetime] NULL, CONSTRAINT [PK_MatGrp_Grp_RNo] PRIMARY KEY CLUSTERED ( [Grp_RNo] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] 12.03.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..