zoukankan      html  css  js  c++  java
  • make Entity Framework revert empty strings to null!

     public override int SaveChanges(SaveOptions options)
            {
                foreach (EntityObject entity in this.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified).Select(entry => entry.Entity))
                {
                    //if (entity == null || entity is User) continue;

                    string str = typeof(string).Name;

                    var props = entity.GetType().GetProperties();

                    var properties = from p in entity.GetType().GetProperties()
                                     where
                                     p.PropertyType.Name == str &&
                                     p.IsDefined(typeof(EdmScalarPropertyAttribute), false) &&
                                     p.IsDefined(typeof(DataMemberAttribute), false)
                                     select p;

                    foreach (var item in properties)
                    {
                        string value = (string)item.GetValue(entity, null);
                        if (value != null && value.Trim().Length == 0)
                            entity.GetType().GetField("_" + item.Name, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).SetValue(entity, null);
                    }
                }
                return base.SaveChanges(options);
            }
  • 相关阅读:
    第一次个人作业-热身
    OO总结
    oo第三单元总结
    oo第二单元总结
    软件工程 —— 课程回顾与个人总结
    BUAA软件案例分析——智能表单抽取识别
    软件工程—结对项目博客
    轨迹预测文献阅读整理(轨迹多样性、车辆轨迹、图神经网络、潜码)
    软件工程
    软件工程
  • 原文地址:https://www.cnblogs.com/neozhu/p/2281658.html
Copyright © 2011-2022 走看看