私は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()
- ビュー(_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;セット; }
これは問題を解決しました。