我希望我的问题出在正确的地方。
如果你有类似子命名空间的东西,你如何命名你的表? (类似于代码命名空间Base.Sub.SubSub2
)
我们当然有一个架构,但如果我需要更深层次的东西呢?
Microsoft表格通常与美元符号Microsoft$AwesomeNamespace$MoreNamespace$Tablename
如果我看到这一点,我总觉得有点不舒服,尤其是当我必须从数据库中创建一个XSL Schema时,其中doller符号变为_x0024_
。 Underscore看起来很疯狂(在我看来)。也许只是使用更多点?
Schema.Application.Base.Sub.TableName
Schema.Application $ $基地子$表名
Schema.Application_Base_Sub_TableName
任何建议,偏好或想法?
亲切的问候
编辑:
二手RDBMS是MSSQL(2014)。
答案 0 :(得分:0)
使用点表示您始终需要将表名括在方括号或引号("My.Table"
,.
)中。这可能很烦人。由于Server.Database.Schema.Object
语法与$
密切相关,因此数据库用户可能会感到困惑。
使用_
或_
的缺点是键入很难,但通常我会选择下划线Schema_Application.Table
,因为它会直观地分隔名称的各个部分。
您可以将更多名称空间放入架构中吗? switch (ConfigurationManager.AppSettings["WebDriverMode"].ToLower())
{
case "local":
switch (ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower())
{
case "firefox":
driver = new AdvancedFirefoxDriver();
break;
case "ie":
driver = new AdvancedInternetExplorerDriver();
break;
case "chrome":
driver = new AdvancedChromeDriver();
break;
default:
throw new NotImplementedException(string.Format("WebDriverBrowserCapabilities of \"{0}\" is not implemented for {1} mode", ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower(), ConfigurationManager.AppSettings["WebDriverMode"].ToLower()));
}
break;
case "remote":
var huburl = new Uri(ConfigurationManager.AppSettings["SeleniumHubAddress"]);
DesiredCapabilities capabilities;
switch (ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower())
{
case "firefox":
capabilities = DesiredCapabilities.Firefox();
break;
case "ie":
capabilities = DesiredCapabilities.InternetExplorer();
break;
case "chrome":
capabilities = DesiredCapabilities.Chrome();
break;
default:
throw new NotImplementedException(string.Format("WebDriverBrowserCapabilities of \"{0}\" is not implemented for {1} mode", ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower(), ConfigurationManager.AppSettings["WebDriverMode"].ToLower()));
}
capabilities.IsJavaScriptEnabled = true;
driver = new AdvancedRemoteWebDriver(huburl, capabilities);
break;
default:
throw new NotImplementedException();
}