第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用實體框架將更改保存到SQL Server數(shù)據(jù)庫時,一個或多個實體的驗證失敗

使用實體框架將更改保存到SQL Server數(shù)據(jù)庫時,一個或多個實體的驗證失敗

C#
函數(shù)式編程 2019-11-21 10:50:23
我想將“編輯”保存到數(shù)據(jù)庫,并且在ASP.NET MVC 3 / C#中使用“實體框架”代碼優(yōu)先,但出現(xiàn)錯誤。在我的Event類中,我有DateTime和TimeSpan數(shù)據(jù)類型,但是在我的數(shù)據(jù)庫中,我分別有Date和time。這可能是原因嗎?將更改保存到數(shù)據(jù)庫之前,如何在代碼中強制轉(zhuǎn)換為適當(dāng)?shù)臄?shù)據(jù)類型。public class Event{    public int EventId { get; set; }    public int CategoryId { get; set; }    public int PlaceId { get; set; }    public string Title { get; set; }    public decimal Price { get; set; }    public DateTime EventDate { get; set; }    public TimeSpan StartTime { get; set; }    public TimeSpan EndTime { get; set; }    public string Description { get; set; }    public string EventPlaceUrl { get; set; }    public Category Category { get; set; }    public Place Place { get; set; }}控制器>>>>中的方法storeDB.SaveChanges()中的問題;// POST: /EventManager/Edit/386        [HttpPost]public ActionResult Edit(int id, FormCollection collection){    var theEvent = storeDB.Events.Find(id);    if (TryUpdateModel(theEvent))    {        storeDB.SaveChanges();        return RedirectToAction("Index");    }    else    {        ViewBag.Categories = storeDB.Categories.OrderBy(g => g.Name).ToList();        ViewBag.Places = storeDB.Places.OrderBy(a => a.Name).ToList();        return View(theEvent);    }}與public class EventCalendarEntities : DbContext{    public DbSet<Event> Events { get; set; }    public DbSet<Category> Categories { get; set; }    public DbSet<Place> Places { get; set; } }SQL Server 2008 R2數(shù)據(jù)庫/ T-SQLEventDate (Datatype = date)  StartTime (Datatype = time)  EndTime (Datatype = time)  Http表格EventDate (Datatype = DateTime) e.g. 4/8/2011 12:00:00 AM  StartTime (Datatype = Timespan/time not sure) e.g. 08:30:00  EndTime (Datatype = Timespan/time not sure) e.g. 09:00:00  “ /”應(yīng)用程序中的服務(wù)器錯誤。一個或多個實體的驗證失敗。有關(guān)更多詳細(xì)信息,請參見'EntityValidationErrors'屬性。說明:執(zhí)行當(dāng)前Web請求期間發(fā)生未處理的異常。請查看堆棧跟蹤,以獲取有關(guān)錯誤及其在代碼中起源的更多信息。異常詳細(xì)信息:System.Data.Entity.Validation.DbEntityValidationException:對一個或多個實體的驗證失敗。有關(guān)更多詳細(xì)信息,請參見'EntityValidationErrors'屬性。
查看完整描述

3 回答

?
慕仙森

TA貢獻1827條經(jīng)驗 獲得超8個贊

您可以DbEntityValidationException使用以下代碼從中提取所有信息(您需要將命名空間:System.Data.Entity.Validation和添加System.Diagnostics到using列表中):


catch (DbEntityValidationException dbEx)

{

    foreach (var validationErrors in dbEx.EntityValidationErrors)

    {

        foreach (var validationError in validationErrors.ValidationErrors)

        {

            Trace.TraceInformation("Property: {0} Error: {1}", 

                                    validationError.PropertyName, 

                                    validationError.ErrorMessage);

        }

    }

}


查看完整回答
反對 回復(fù) 2019-11-21
?
catspeake

TA貢獻1111條經(jīng)驗 獲得超0個贊

如果您的類具有相同的屬性名稱,這是Praveen答案的一個小擴展:


 catch (DbEntityValidationException dbEx)

 {

    foreach (var validationErrors in dbEx.EntityValidationErrors)

    {

       foreach (var validationError in validationErrors.ValidationErrors)

       {

          Trace.TraceInformation(

                "Class: {0}, Property: {1}, Error: {2}",

                validationErrors.Entry.Entity.GetType().FullName,

                validationError.PropertyName,

                validationError.ErrorMessage);

       }

    }

 }


查看完整回答
反對 回復(fù) 2019-11-21
  • 3 回答
  • 0 關(guān)注
  • 700 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號