NullReferenceException:オブジェクト参照がef7でDateTime列を追加した後にオブジェクトのインスタンスに設定されない

asp.net entity-framework-core

質問

私は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のopertionsは正常に動作します。public System.DateTimeを削除すると、Mod_DtTm {get;セット; }列に追加しますが、この列を追加するとこのスタックトレースにエラーが表示されます

要求の処理中に未処理の例外が発生しました。

NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。

lambda_method(Closure、ValueBuffer)

NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。

lambda_method(Closure、ValueBuffer)

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

Microsoft.Data.Entity.Query.Internal.QueryBuffer.GetEntity(IKeyValue keyValue、EntityLoadInfo entityLoadInfo、Boolean queryStateManager)

Microsoft.Data.Entity.Query.ExpressionVisitors.RelationalEntityQueryableExpressionVisitor.CreateEntity [TEntity](IQuerySource querySource、ValueBuffer valueBuffer、Int32 valueBufferOffset、QueryContext queryContext、IEntityType entityType、Boolean trackingQuery、KeyValueFactory keyValueFactory、Func`2マテリアライザー、Boolean allowNullResult、Boolean useQueryBuffer)

lambda_method(Closure、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.List 1..ctor(IEnumerable 1コレクション)

System.Linq.Enumerable.ToList [TSource](IEnumerable`1ソース)

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

  1. ビュー(_context.MatGrp.ToList())を返します。

---例外がスローされた前の場所からのスタックトレースの終了---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Microsoft.AspNet.Mvc.Controllers.ControllerActionExecutor.ExecuteAsync(MethodInfo actionMethodInfo、Object instance、Object [] orderedActionArguments)

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.ISPlatformHandlerMiddleware.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]

受け入れられた回答

ああ、私はそれが愚かな間違いを持っ​​ている列は、データベース内のテーブル定義でnullを許可しますが、(nullを許可するには)DateTimeの? Cre_DtTm {get;セット; }

これは問題を解決しました。


人気のある回答

データベースを確認してください。それがNOT NULLカラムで、デフォルト値を使用せずにそれを追加した場合、すべてのragey



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ