2014年11月21日 星期五

[C#] Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.


form: http://ianworkshop.blogspot.tw/2014/01/validation-failed-for-one-or-more.html


可能某個不可為null的欄位, 填入了null, 但是不知道是哪個欄位, 因此使用try catch來捕抓錯誤

            try
            {
                _db.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}"validationError.PropertyNamevalidationError.ErrorMessage);
                    }
                }
            }

[C#] Nullable 說明

form: http://www.dotblogs.com.tw/dotjum/archive/2008/08/02/4756.aspx



Nullable 是 .NET 2.0 所新增的類別,

主要可以用來針對 實值型別 (參考一) 給予 Null 當初始值 及 檢查是否為 null ,

這邊先瞭解關於常見 實值型別  型別有哪些,而 DateTime 在.NET Framework 實值型別(參考二)

而之前自己的經驗,在對 inet , Datetime 做處理是 null 的時候,

以 DateTime 來說會使用 DateTime.MinValue 的方式,來代表一個 Null 的值,

也聽別人的經驗說,就大家說好一個某一個日期就是null的值(但這樣非常不好,請大家不要這樣)

而使用Nullable就能方便處理實值型別初始值 的問題

Nullable 的使用也很簡單

Nullable<型別> 變數名 = null ;或   型別? 變數 = null;




 

MangoHost Copyright © 2009 Cookiez is Designed by Ipietoon for Free Blogger Template