2009-09-25 51 views
0

我正在尝试使用SubSonic 3做一个概念验证,但Sstraight离开了我与这一代打了许多错误。我开始对生成器设置进行修改,但是当我试图对我的数据库进行简单的一对一映射时,这似乎有点奇怪。简单的SubSonic 3世代问题

首先,我发现一个具有@delagate作为SP参数名称的SP,这很容易修复,但应该在标准模板中,因为用户不必为这个简单的问题进行模板更改。

接下来,我发现系统哽咽两个表,并试图建立签名,其中 场 场

现在我知道SubSonix 2相同 表有fixPluralClassName属性,但累垮如果我能找到一个在亚音速3

上一个任何帮助的模板将让我开始

+0

如果您指出了您正在使用的模板集,它将会有所帮助。 – womp 2009-09-25 02:55:24

+0

对不起数据库是MS SQL 2008所以Sql模板生成到C# – cdmdotnet 2009-09-25 03:20:03

+0

我也发现了几个领域,其中: 如果列引用了一个“X”后缀,那么不是所有的引用都正确后缀“X” IE ActiveRecord.tt具有 \t \t \t如果(tbl.ClassName == col.CleanName) \t \t \t { \t \t \t \t col.CleanName + = “X”; \t \t \t} ,但缺乏针对遵循相同的用途 公共对象KEYVALUE(){ 返回此<#= tbl.PK.CleanName#>。 } public override int GetHashCode(){ return this。<#= tbl.PK.CleanName#>; } 和其他几个此评论没有空间 – cdmdotnet 2009-09-25 05:38:32

回答

0

一般“X”和“基准”型附件/替换发生时,你在列或表名使用“保留”字。在这种情况下,'保留'是Subsonic不喜欢用于数据对象的单词。

我遵循的几条规则是;

  1. 确保两个表名和列 名称不是“保留”的话(即 “数据”或“INT”或“表”)
  2. 确保每个表具有主键
  3. 唐“T使用的日期和时间列类型 因为它们尚不支持 (日期时间,只是没有日期和时间类型)
  4. 不具有相同 名称的列表

Subsonic FAQ可能会对您有所帮助。