强制亚音速忽略某些列名模式

时间:2010-07-14 22:09:37

标签: c# .net subsonic subsonic3

我们使用SubSonic作为各种ORM(实际上更像是一个查询助手)。由于某种原因,我们有一些动态模式,因此某些表生成了列名等。嗯,直到现在,这一切都很好,花花公子。现在,我们的生产生成列与我们的开发生成列不匹配。我想到的第一个工作就是在部署到生产服务器之前重新生成亚音速文件,但这看起来有点混乱。还有比这更好的方法吗?

请注意,这些生成的列永远不会从ORM中实际使用,但我们有时会使用

来拉下整行
var data=MyData.DynamicTable.SingleOrDefault(x => x.id==1);

虽然在尝试加载GeneratedColumn10或其他任何内容时使用开发生成的子文件,但是在开发中存在而不是在生产中,这会在生产中引发错误。

2 个答案:

答案 0 :(得分:0)

我实际上最终修改了SQLServer提供程序,以便它根据正则表达式检查每个列名,以确定是否应该包含该列。请务必注意,您必须对两列以及查找外键的位置执行此操作

答案 1 :(得分:0)

您可以针对生产数据库创建DAL,并将其与开发服务器一起使用。除非dev环境中的其他列不可为空并且没有指定默认值,否则更新和插入查询也会起作用。