当前位置: 首页>>代码示例>>C#>>正文


C# PropertyInfo.GetOneToManyAttribute方法代码示例

本文整理汇总了C#中System.Reflection.PropertyInfo.GetOneToManyAttribute方法的典型用法代码示例。如果您正苦于以下问题:C# PropertyInfo.GetOneToManyAttribute方法的具体用法?C# PropertyInfo.GetOneToManyAttribute怎么用?C# PropertyInfo.GetOneToManyAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Reflection.PropertyInfo的用法示例。


在下文中一共展示了PropertyInfo.GetOneToManyAttribute方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetCascadeDeleteSql

 public virtual string GetCascadeDeleteSql(PropertyInfo oneToManyProp)
 {
     StringBuilder sb = new StringBuilder();
     sb.Append("delete from ");
     sb.Append(oneToManyProp.PropertyType.GetGenericArguments()[0].GetTableAttribute().Name);
     sb.Append(" where ");
     sb.Append(oneToManyProp.GetOneToManyAttribute().InverseForeignKey);
     sb.Append("=?");
     return sb.ToString();
 }
开发者ID:vincentlauvlwj,项目名称:FrameDAL,代码行数:10,代码来源:BaseDialect.cs

示例2: GetDeleteItemSql

 public virtual string GetDeleteItemSql(PropertyInfo oneToManyProp, int countLeft)
 {
     StringBuilder sb = new StringBuilder();
     Type elementType = oneToManyProp.PropertyType.GetGenericArguments()[0];
     sb.Append("delete from ");
     sb.Append(elementType.GetTableAttribute().Name);
     sb.Append(" where ");
     sb.Append(oneToManyProp.GetOneToManyAttribute().InverseForeignKey);
     sb.Append("=?");
     if (countLeft > 0)
     {
         sb.Append(" and ");
         sb.Append(elementType.GetIdProperty().GetColumnAttribute().Name);
         sb.Append(" not in (" + "?, ".Repeat(countLeft));
         sb.Remove(sb.Length - 2, 2);
         sb.Append(")");
     }
     return sb.ToString();
 }
开发者ID:vincentlauvlwj,项目名称:FrameDAL,代码行数:19,代码来源:BaseDialect.cs

示例3: GetLoadOneToManyPropertySql

 public virtual string GetLoadOneToManyPropertySql(PropertyInfo prop, bool enableLazy, out Dictionary<string, string> resultMap)
 {
     StringBuilder sb = new StringBuilder();
     sb.Append(prop.GetOneToManyAttribute().InverseForeignKey);
     sb.Append("=?");
     return GetSelectSql(prop.PropertyType.GetGenericArguments()[0], enableLazy, out resultMap, sb.ToString());
 }
开发者ID:vincentlauvlwj,项目名称:FrameDAL,代码行数:7,代码来源:BaseDialect.cs

示例4: GetUpdateForeignKeySql

 public virtual string GetUpdateForeignKeySql(PropertyInfo oneToManyProp, int countLeft)
 {
     if (countLeft <= 0)
         throw new ArgumentOutOfRangeException("countLeft应大于0。", countLeft, "countLeft");
     StringBuilder sb = new StringBuilder();
     Type elementType = oneToManyProp.PropertyType.GetGenericArguments()[0];
     sb.Append("update ");
     sb.Append(elementType.GetTableAttribute().Name);
     sb.Append(" set ");
     sb.Append(oneToManyProp.GetOneToManyAttribute().InverseForeignKey);
     sb.Append("=? where ");
     sb.Append(elementType.GetIdProperty().GetColumnAttribute().Name);
     sb.Append(" in (" + "?, ".Repeat(countLeft));
     sb.Remove(sb.Length - 2, 2);
     sb.Append(")");
     return sb.ToString();
 }
开发者ID:vincentlauvlwj,项目名称:FrameDAL,代码行数:17,代码来源:BaseDialect.cs

示例5: NeedProxy

 private static bool NeedProxy(PropertyInfo prop, bool enableLazy, bool enforceLazy)
 {
     ColumnAttribute col = prop.GetColumnAttribute();
     if (col != null && col.LazyLoad && enableLazy)
     {
         return true;
     }
     ManyToOneAttribute manyToOne = prop.GetManyToOneAttribute();
     if (manyToOne != null && (manyToOne.LazyLoad && enableLazy || enforceLazy))
     {
         return true;
     }
     OneToManyAttribute oneToMany = prop.GetOneToManyAttribute();
     if (oneToMany != null && (oneToMany.LazyLoad && enableLazy || enforceLazy))
     {
         return true;
     }
     ManyToManyAttribute manyToMany = prop.GetManyToManyAttribute();
     if (manyToMany != null && (manyToMany.LazyLoad && enableLazy || enforceLazy))
     {
         return true;
     }
     return false;
 }
开发者ID:vincentlauvlwj,项目名称:FrameDAL,代码行数:24,代码来源:EntityFactory.cs


注:本文中的System.Reflection.PropertyInfo.GetOneToManyAttribute方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。