zoukankan      html  css  js  c++  java
  • Linq-Detach方法--删除对象的时候如有关系导制错误去关系

     public static void Detatch(Object entity)
            {
                Type t = entity.GetType();
                System.Reflection.PropertyInfo[] properties = t.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
                foreach (var property in properties)
                {
                    string name = property.Name;
                    if (property.PropertyType.IsGenericType &&
                    property.PropertyType.GetGenericTypeDefinition() == typeof(EntitySet<>))
                    {
                        property.SetValue(entity, null, null);
                    }
                }
                System.Reflection.FieldInfo[] fields = t.GetFields(System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
                foreach (var field in fields)
                {
                    string name = field.Name;
                    if (field.FieldType.IsGenericType &&
                    field.FieldType.GetGenericTypeDefinition() == typeof(EntityRef<>))
                    {
                        field.SetValue(entity, null);
                    }
                }
                System.Reflection.EventInfo eventPropertyChanged = t.GetEvent("PropertyChanged");
                System.Reflection.EventInfo eventPropertyChanging = t.GetEvent("PropertyChanging");
                if (eventPropertyChanged != null)
                {
                    eventPropertyChanged.RemoveEventHandler(entity, null);
                }
                if (eventPropertyChanging != null)
                {
                    eventPropertyChanging.RemoveEventHandler(entity, null);
                }
            }

  • 相关阅读:
    Go语言v1.8正式发布,有显著的性能提升和变化(go适合服务器编程、网络编程)
    NET生成二维码
    组合模式
    Spring MVC
    前端事件
    Play Framework + ReactiveMongo
    DDD领域驱动设计初探
    jsRender模板引擎
    C#分布式缓存Couchbase
    ABP
  • 原文地址:https://www.cnblogs.com/wahaccp/p/3254853.html
Copyright © 2011-2022 走看看