Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 强制亚音速忽略特定的列名模式_C#_.net_Subsonic_Subsonic3 - Fatal编程技术网

C# 强制亚音速忽略特定的列名模式

C# 强制亚音速忽略特定的列名模式,c#,.net,subsonic,subsonic3,C#,.net,Subsonic,Subsonic3,我们使用亚音速作为一种ORM(实际上更像是一个查询助手)。出于这样或那样的原因,我们有一点动态模式,因此某些表生成了列名等等。到目前为止,一切都很好。现在,生产生成的列与开发生成的列不匹配。首先想到的解决方法是在部署到生产服务器之前重新生成亚音速文件,但这似乎有点混乱。还有比这更好的办法吗 请注意,这些生成的列实际上从未从ORM中使用过,但有时我们确实会使用 var data=MyData.DynamicTable.SingleOrDefault(x => x.id==1); 在尝试加载

我们使用亚音速作为一种ORM(实际上更像是一个查询助手)。出于这样或那样的原因,我们有一点动态模式,因此某些表生成了列名等等。到目前为止,一切都很好。现在,生产生成的列与开发生成的列不匹配。首先想到的解决方法是在部署到生产服务器之前重新生成亚音速文件,但这似乎有点混乱。还有比这更好的办法吗

请注意,这些生成的列实际上从未从ORM中使用过,但有时我们确实会使用

var data=MyData.DynamicTable.SingleOrDefault(x => x.id==1);

在尝试加载
GeneratedColumn10
或其他任何内容时,使用开发生成的亚音速文件会在生产中引发错误,它存在于开发中,但不存在于生产中。

我实际上已经修改了SQLServer提供程序,以便它根据正则表达式检查每个列名,以决定是否应该包含该列。需要注意的是,您必须对这两个列执行此操作,并且对于它查找外键的位置,您可以针对生产数据库创建DAL,并将其与开发服务器一起使用。除非dev环境中的其他列不可为null,并且没有指定默认值,否则更新和插入查询也可以工作