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 阅读(257) 评论(0)  编辑 收藏 所属分类: 1 .NET 2.0/1.1 & 3.X8 DataBase

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-12-29 01:47 编辑过
 
另存  打印