【发布时间】:2009-08-24 20:54:00
【问题描述】:
当我检查我的一个业务实体的 .Columns 属性时,我缺少 Table 和 PropertyName 的值。我从 Take(5) 之类的东西中得到了正确的记录数,但所有 5 个对象都将充满空字符串和 0 个值。
刚刚尝试了另一个 SQL 连接和同样的事情?我应该从哪里着手解决这个问题?
附加信息和代码:
// Replacing the CleanUp function seems to be cause
// What am I doing here that is not allowed?
// I'm dealing with Table names like USER_DETAILS and would prefer UserDetail
// rename standard CleanUp to CleanUp2 then paste this into Settings.ttinclude
string CleanUp(string tableName)
{
string res = tableName;
//capitalization
char[] ca = res.ToLower().ToCharArray();
for (int i = 0; i < ca.Length; i++) {
if ((i == 0) || (ca[i - 1] == '_')) {
ca[i] = char.ToUpper(ca[i]);
}
}
res = new string(ca);
//strip underlines
res = res.Replace("_","");
//strip blanks
res = res.Replace(" ","");
return res;
}
已解决(有点): 看起来是删除下划线导致一切都向南。 Rob,这有可能在以后的版本中起作用吗?如果您能在源代码中指出正确的方向,我将很乐意提供帮助。
【问题讨论】:
-
是否是 ActiveRecord.tt 中的第 353 行导致问题 - var col=tbl.Columns.SingleOrDefault(x=>x.Name=="" );
-
如果您愿意提供帮助(这将是很棒的!),您可以前往 GitHub 并 fork 模板项目(您需要了解/喜欢 Git -blog.wekeroad.com/subsonic/subsonic-working-with-git)进行修复,然后推动。观看上面的视频 - 它解释了如何......
-
其实我可能需要一点帮助。当我单步执行代码时,它会变得非常混乱。我有一个名为 Active 的属性,它映射到数据库字段 ACTIVE,调用了 Active 的 set{}。我有一个名为 FirstName 的属性,它与数据库字段 FIRST_NAME 相关,FirstName set{} 永远不会被调用。这是某种反思吗?
标签: .net activerecord subsonic subsonic3