Добавьте этот ModelCollection.cs в свои модели
using System;
using System.Collections.Generic;
namespace ModelContainer
{
public class ModelCollection
{
private Dictionary<Type, object> models = new Dictionary<Type, object>();
public void AddModel<T>(T t)
{
models.Add(t.GetType(), t);
}
public T GetModel<T>()
{
return (T)models[typeof(T)];
}
}
}
Контроллер:
public class SampleController : Controller
{
public ActionResult Index()
{
var model1 = new Model1();
var model2 = new Model2();
var model3 = new Model3();
// Do something
var modelCollection = new ModelCollection();
modelCollection.AddModel(model1);
modelCollection.AddModel(model2);
modelCollection.AddModel(model3);
return View(modelCollection);
}
}
Вид:
enter code here
@using Models
@model ModelCollection
@{
ViewBag.Title = "Model1: " + ((Model.GetModel<Model1>()).Name);
}
<h2>Model2: @((Model.GetModel<Model2>()).Number</h2>
@((Model.GetModel<Model3>()).SomeProperty
Это происходит из-за перехода на летнее время, начинающегося в этот день, поэтому все время между 1 и 2 часами утра недопустимо. Вы обнаружите, что проблема фактически начинается в «01: 00: 00» и заканчивается в «01: 59: 59»:
create table t (created_at timestamp null default current_timestamp);
insert into t values('2019-03-31 00:59:59');
insert into t values('2019-03-31 01:00:00');
Неправильное значение даты и времени: «2019-03-31 01 : 00: 00 'для столбца' create_at 'в строке 1
blockquote>insert into t values('2019-03-31 01:59:59');
Неправильное значение даты и времени:' 2019-03-31 01:59:59 'для столбца' creat_at ' в строке 1
blockquote>insert into t values('2019-03-31 02:00:00'); select * from t
Вывод:
created_at 2019-03-31 00:59:59 2019-03-31 02:00:00
Изменение системного часового пояса на тот, который не имеет летнего времени, решит проблему.