我制作了一个使用Users
DNN 表的模块。
但是今天我收到Users
表不存在的有线错误。
当我查看数据库时,我看到Users
表名实际上是dbo_Users
.
我认为 DNNUsers
表总是具有相同的名称,但它似乎不是。
dnn 将该前缀添加到表(所有 DNN 表)的原因是什么,我如何知道表是否具有该前缀?
问问题
252 次
1 回答
3
DotNetNuke 允许为数据库(以及自定义模式/数据库所有者)设置带有“对象限定符”的站点。这样可以提高安全性,并有可能在同一数据库中托管多个应用程序,同时避免命名冲突。这些原因都不是很好,很少有人使用该功能,但是您仍然不时遇到它。
您可以使用DotNetNuke.Common.Utilities.Config.GetObjectQualifer()
来获取当前站点的对象限定符。
在作为包安装的一部分运行的任何脚本中,DNN 将自动替换{databaseOwner}
并{objectQualifier}
使用正确的值标记。
如果您使用Entity Framework或LINQ to SQL,则有由 Brandon Haynes 组合在一起的模型适配器,它们会自动将这些考虑在内。
于 2013-03-21T21:02:03.373 回答