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

本文介绍了SQL中的数据类型与C#中的对应类型,特别指出SQL中的float类型在C#中应映射为double而非float。文章通过一个具体的转换函数示例,帮助开发者正确理解和使用不同类型之间的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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;
        }

唉,基础不好,更重要的是脑子的内存坏了,一睡醒就丢失资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值