作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当 Visual Studio 自动生成 dbml 文件时,我得到了表中出现的确切字段名称。
但是,由于VS不提供dbml刷新功能,所以我手动运行sqlmetal来重新创建dbml文件。它工作得很好,但有一个异常(exception)——sqlmetal“更正”名称
ses_Id -> Ses_Id
aga_Id -> Aga_Id
等等——它可能会将camelCase更改为CamelCase。
Sqlmetal 帮助没有列出任何保持字段名称不变的开关(只有复数开关)。那么,有谁知道保持字段名称大小写的隐藏开关吗?
提前谢谢您。
没有这样的开关,并且 MS 收到了有关该问题的通知 - 添加此类功能的愿望报告(因为它会导致更新项目出现问题)已被关闭,因为不会修复:-(
最佳答案
我怀疑有一个隐藏的开关。我遇到了同样的问题,所以我编写了一个简单的 Perl 脚本来解决它:
# Usage: fdbml.pl in.dbml out.dbml
my $in_file = $ARGV[0];
my $out_file = $ARGV[1];
# Scrape in file for identifiers
my @identifiers;
open IN, "<$in_file";
while (<IN>) {
if ($_ =~ /<Table Name="(?:\w+\.)?(\w+)" Member="(\w+)"/) { push @identifiers, "$1 $2"; }
if ($_ =~ /<Function Name="(?:\w+\.)?(\w+)" Method="(\w+)"/) { push @identifiers, "$1 $2"; }
}
close IN;
# Translate in file to out file
open IN, "<$in_file";
open OUT, ">$out_file";
while (<IN>) {
my $line = $_;
# Replace identifiers
foreach my $identifier (@identifiers) {
my ($new, $old) = split(' ', $identifier);
$line =~ s/"$old((?:Result)?)"/"$new$1"/g;
}
$line =~ s/<Parameter Name="(\w+)" Parameter="\w+"/<Parameter Name="$1" Parameter="$1"/;
print OUT $line;
}
close OUT;
close IN;
只需将所有内容保存到 fdbml.pl,确保安装了 ActiveState Perl,然后在 DBML 文件上运行它:
fdbml.pl old.dbml new.dbml
本
关于linq - 如何强制 sqlmetal 保持字段名称大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1999151/
概述 CentOS Stream 成立于 2019 年,是“RHEL 下一步的滚动预览”。Red Hat 首席技术官 Chris Wright 和 CentOS 社区经理 Rich Bowen 各
我有一个使用 Mesosphere DC/OS 编排选项进行配置的 Azure 容器服务 (ACS) 集群。我可以在 Marathon UI 中创建一个应用程序。 但是,当我通过 Marathon U
我是一名优秀的程序员,十分优秀!