C#的float型,竟然与SQL中float型不对应

使用NBearMapping做测试,才发现SQL中的float不能被自动Map到实体类型为float字段中。
搜索了一下,才发现SQL中的float对应到C#的double,我晕了。
http://www.cnblogs.com/xkforever/archive/2007/04/27/729858.html
        /// <summary>
        
/// 数据库中与C#中的数据类型对照
        
/// </summary>
        
/// <param name="type"></param>
        
/// <returns></returns>
        private string ChangeToCSharpType(string type)
        {
            
string reval = string.Empty;
            
switch (type.ToLower())
            {
                
case "int":
                    reval 
= "Int32";
                    
break;
                
case "text":
                    reval 
= "String";
                    
break;
                
case "bigint":
                    reval 
= "Int64";
                    
break;
                
case "binary":
                    reval 
= "System.Byte[]";
                    
break;
                
case "bit":
                    reval 
= "Boolean";
                    
break;
                
case "char":
                    reval 
= "String";
                    
break;
                
case "datetime":
                    reval 
= "System.DateTime";
                    
break;
                
case "decimal":
                    reval 
= "System.Decimal";
                    
break;
                
case "float":
                    reval 
= "System.Double";
                    
break;
                
case "image":
                    reval 
= "System.Byte[]";
                    
break;
                
case "money":
                    reval 
= "System.Decimal";
                    
break;
                
case "nchar":
                    reval 
= "String";
                    
break;
                
case "ntext":
                    reval 
= "String";
                    
break;
                
case "numeric":
                    reval 
= "System.Decimal";
                    
break;
                
case "nvarchar":
                    reval 
= "String";
                    
break;
                
case "real":
                    reval 
= "System.Single";
                    
break;
                
case "smalldatetime":
                    reval 
= "System.DateTime";
                    
break;
                
case "smallint":
                    reval 
= "Int16";
                    
break;
                
case "smallmoney":
                    reval 
= "System.Decimal";
                    
break;
                
case "timestamp":
                    reval 
= "System.DateTime";
                    
break;
                
case "tinyint":
                    reval 
= "System.Byte";
                    
break;
                
case "uniqueidentifier":
                    reval 
= "System.Guid";
                    
break;
                
case "varbinary":
                    reval 
= "System.Byte[]";
                    
break;
                
case "varchar":
                    reval 
= "String";
                    
break;
                
case "Variant":
                    reval 
= "Object";
                    
break;
                
default:
                    reval 
= "String";
                    
break;
            }
            
return reval;
        }

唉,基础不好,更重要的是脑子的内存坏了,一睡醒就丢失资料。
posted @ 2007-08-12 04:22  MK2  阅读(2506)  评论(1编辑  收藏  举报