问题描述:
 当数据库列类型有Money类型的时候,CodeSmith生成数据访问层会出错。有不能识别的类型。
解决方法:
 通过查找资料得知,数据库中的Money类型在DbType中是Currency(货币类型),在C#中对应SqlDbType.Decimal。
 ①在
  public string GetCSharpVariableType2(ColumnSchema column)
  {
  if (column.Name.EndsWith("TypeCode")) return column.Name;
 
   switch (column.DataType)
   {
    case DbType.AnsiString: return "SqlDbType.VarChar";
    case DbType.AnsiStringFixedLength: return "SqlDbType.VarChar";
    case DbType.Binary: return "SqlDbType.Binary";
    case DbType.Boolean: return "SqlDbType.Bit";
    case DbType.Date: return "SqlDbType.DateTime";
    case DbType.DateTime: return "SqlDbType.DateTime";
    case DbType.Decimal: return "SqlDbType.Decimal";
    case DbType.Double: return "SqlDbType.Decimal";
    case DbType.Int16: return "SqlDbType.Int";
    case DbType.Int32: return "SqlDbType.Int";
    case DbType.Int64: return "SqlDbType.Float";
    case DbType.String: return "SqlDbType.VarChar";
    case DbType.StringFixedLength: return "SqlDbType.NChar";
    case DbType.Currency: return "SqlDbType.Decimal";
    default:
    {
     return "__UNKNOWN__" + column.NativeType;
    }
   }
  }
  中查找case DbType.Currency: return "SqlDbType.Decimal";
  若没有,就加上;有则不管。
 ②在public string GetCode(ColumnSchema column)方法中,查找
  case DbType.Decimal:
  case DbType.Currency:
  case DbType.Double:
  {
   sb.Append("            if (dr.Table.Columns.Contains(\""+column.Name+"\") && !dr.IsNull(\""+column.Name+"\"))\r\n");
   sb.Append("            {\r\n");
   sb.Append("                model."+GetPropertyNameUpperFirstSub_(column)+" = decimal.Parse(dr[\""+column.Name+"\"].ToString());\r\n");
   sb.Append("            }\r\n");
   break;
  }
  其中,若没有case DbType.Currency: 那就加上;有则不管。
  谭家泉
  2014年3月24日 15:19:04

关键词:CodeSmith工具、Money类型、__UNKNOWN__的更多相关文章

  1. 百度关键词搜索工具 v1.1|url采集工具 v1.1

    功能介绍:关键词搜索工具 批量关键词自动搜索采集 自动去除垃圾二级泛解析域名 可设置是否保存域名或者url 持续更新中

  2. javascript 的工具方法 --- 类型判断

    Javascript中常见类型对象有: Boolean, Number, String, Function, Array, Date, RegExp, Object, Error, Symbol等等. ...

  3. 使用代码辅助生成工具CodeSmith -- 生成NHibernate的映射文件

    首先下载CodeSmith工具:在百度云中,在CodeSmith文件夹中. 安装,使用激活工具激活. 然后下载NHibernate模板,也是在百度云中,在CodeSmith文件夹中. 之后直接点击NH ...

  4. python打造批量关键词排名查询工具

    自己做站点的时候,都看看收录和关键词排名什么的,所以打造的这个批量关键词查询工具. #encoding:utf-8 import urllib,re,random,time,sys,StringIO, ...

  5. 关于SEO的一些见解---关键词的选取布局以及内外链的建设

    前言     SEO是英文 Search EngineOptimiation的缩写,中文翻译为"搜索引擎优化"简单地说, SEO就是从搜索引擎上获得流量的技术 . 搜索引掌优化的主 ...

  6. Java工具类——通过配置XML验证Map

    Java工具类--通过配置XML验证Map 背景 在JavaWeb项目中,接收前端过来的参数时通常是使用我们的实体类进行接收的.但是呢,我们不能去决定已经搭建好的框架是怎么样的,在我接触的框架中有一种 ...

  7. 环境与工具2:建立高效的mac环境

    你的工作与生活离不开电脑,电脑是一个工具,也是一个环境.环境是不是绿水青山,是不是得心应手,这是很重要的事情.小程平时使用macbook来学习跟娱乐,最近重装了系统,很多环境与工具都需要重新组建. 那 ...

  8. ETH&EOS开发资源及工具集合(完整汇总版)

    ETH&EOS开发资源及工具集合(完整汇总版) 3113 ETH开发资源篇 一.开发语言 ·         Solidity - 官方推荐以太坊智能合约开发语言,也是目前最为主流的智能合约语 ...

  9. SEO优化---学会建立高转化率的网站关键词库

    想要优化好一个网站,行业的分析,以及关键词的挖掘是必要的,有一定的关键词排名了,但是转化率和流量方面却很不理想这种情况大部分是只注重了有指数的关键词排名,而忽略了长尾关键词和一些没有指数但是可以带来巨 ...

随机推荐

  1. NEURAL NETWORKS, PART 2: THE NEURON

    NEURAL NETWORKS, PART 2: THE NEURON A neuron is a very basic classifier. It takes a number of input ...

  2. IndexedDB demo showcase

    var dbGlobals = new Object(); dbGlobals.db = null; dbGlobals.description = "This database is us ...

  3. 【UVALive - 5131】Chips Challenge(上下界循环费用流)

    Description A prominent microprocessor company has enlisted your help to lay out some interchangeabl ...

  4. 纯CSS打造可折叠树状菜单

    1:Html代码 <li> <label for="subsubfolder1">下级</label> <input id="s ...

  5. elasticsearch spring 集成

    elasticsearch spring 集成 项目清单   elasticsearch服务下载包括其中插件和分词   http://download.csdn.net/detail/u0142011 ...

  6. 网络流(费用流)CodeForces 321B:Ciel and Duel

    Fox Ciel is playing a card game with her friend Jiro. Jiro has n cards, each one has two attributes: ...

  7. 折腾iPhone的生活——iPhone 5s 开启 assistive touch 后卡顿的问题

    刚刚入手我的国行iPhone5s土狗灰,感觉倍棒~ 但是一上手就发现了一个问题:卡顿. 卡顿不仅体现在日常使用中,游戏中更加严重,当我玩水果忍者的时候,会发现切水果的画面都变得不流畅起来,这是拥有64 ...

  8. 开启gdb调试功能

    设置/etc/yum.repos.d/CentOS-Debuginfo.repo,修改[debug项下的enabled的值为1];

  9. centos下apache thrift的安装

    参考:http://running.iteye.com/blog/1983463  thrift-0.9.0安装 最好切换到root用户操作,避免不必要的麻烦. 进行例子程序tutorial目录下,通 ...

  10. 安装MongoDB -- Windows平台

    1. 安装MongoDB 2. 添加环境变量 将安装后的bin目录,添加至系统的Path环境变量中,例如我的安装路径为"C:\Program Files\MongoDB\Server\3.2 ...