我試圖從我的ASP.NET MVC應用程序中使用實體框架將數據插入到我的Azure數據庫中。使用實體框架爲Azure數據庫使用TimeSpan格式
在我的數據庫中,我有一個名爲ShutdownTime的數據類型爲Time的列。 在我的ASP.NET MVC應用程序中實現了Table之後,我可以看到,通過將數據插入到我的表中,我必須使用TimeSpan數據類型。
public partial class Vm
{
public int Vm_Id { get; set; }
public System.TimeSpan ShutdownTime { get; set; }
public string VmName { get; set; }
public string DeploymentId { get; set; }
}
這是我的功能
public ActionResult Edit(string newVmName, TimeSpan newShutdownTime, string newServiceName, bool startVm)
{
var NewVmEntry = new Vm();
newShutdownTime = new TimeSpan(1, 12, 20, 10);
// Assign standard name
NewVmEntry.VmName = "MyVM";
NewVmEntry.ShutdownTime = newShutdownTime;
NewVmEntry.DeploymentId = "MyDID";
azureContext.Vms.Add(NewVmEntry);
azureContext.SaveChanges();
if (startVm == true)
{
StartVM(newServiceName, newVmName);
}
return View("Index");
}
但我一直在SaveChanges()
「SqlDbType.Time溢出得到這個誤差值 '1.12:20:10',超出範圍。必須介於00:00:00.0000000和23:59:59.9999999之間。「
這個錯誤似乎很清楚。但我能解決這個問題嗎?
如果是關機時間,您爲什麼使用時間跨度?改用DateTime對象。 – 2014-11-21 12:03:10
TimeSpan是由實體框架自動生成的。在我的表中,我只是使用時間 – user2877820 2014-11-21 12:03:50
你確定'TimeSpan'是正確的類型嗎? DB時間字段是一天中的時間(例如上午9:30)而非時間間隔(例如15分鐘)。 – 2014-11-21 12:07:09