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


C# tgDynamicQuerySerializable.GetTypeMap方法代码示例

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


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

示例1: GetParameters

        static public Dictionary<string, SqlParameter> GetParameters(tgDynamicQuerySerializable query)
        {
            tgMetadata meta = null;

            lock (parameterCache)
            {
                meta = query;

                if (!parameterCache.ContainsKey(meta.DataID))
                {
                    // The Parameters for this Table haven't been cached yet, this is a one time operation
                    Dictionary<string, SqlParameter> types = new Dictionary<string, SqlParameter>();

                    SqlParameter param1;
                    foreach (tgColumnMetadata col in meta.Columns)
                    {
                        tgTypeMap typeMap = meta.GetTypeMap(col.PropertyName);
                        if (typeMap != null)
                        {
                            string nativeType = typeMap.NativeType;
                            SqlDbType dbType = Cache.NativeTypeToDbType(nativeType);

                            param1 = new SqlParameter(Delimiters.Param + col.PropertyName, dbType, 0, col.PropertyName);
                            param1.SourceColumn = col.Name;

                            switch (dbType)
                            {
                                case SqlDbType.BigInt:
                                case SqlDbType.Decimal:
                                case SqlDbType.Float:
                                case SqlDbType.Int:
                                case SqlDbType.Money:
                                case SqlDbType.Real:
                                case SqlDbType.SmallMoney:
                                case SqlDbType.TinyInt:
                                case SqlDbType.SmallInt:

                                    param1.Size = (int)col.CharacterMaxLength;
                                    param1.Precision = (byte)col.NumericPrecision;
                                    param1.Scale = (byte)col.NumericScale;
                                    break;

                                case SqlDbType.DateTime:

                                    param1.Precision = 23;
                                    param1.Scale = 3;
                                    break;

                                case SqlDbType.SmallDateTime:

                                    param1.Precision = 16;
                                    break;

                                case SqlDbType.Udt:

                                    SetUdtTypeNameToAvoidMonoError(param1, typeMap);
                                    break;

                            }
                            types[col.Name] = param1;
                        }
                    }

                    parameterCache[meta.DataID] = types;
                }
            }

            return parameterCache[meta.DataID];
        }
开发者ID:BrewDawg,项目名称:Tiraggo.EF,代码行数:69,代码来源:Cache.cs


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