1

UsersDNNのテーブルを使用するモジュールを作成しました。しかし、今日、テーブルが存在しない
という有線エラーが発生します。 データベースを調べたところ、テーブル名は実際にはです。DNNテーブルは常に同じ名前だと 思いましたが、そうではありません。 dnnがそのプレフィックスをテーブル(すべてのDNNテーブル)に追加した理由は何ですか?また、テーブルにそのプレフィックスがあるかどうかを知るにはどうすればよいですか?Users
Usersdbo_Users
Users

4

1 に答える 1

3

DotNetNukeを使用すると、データベース(およびカスタムスキーマ/データベース所有者)の「オブジェクト修飾子」を使用してサイトを設定できます。これにより、セキュリティが少し向上し、名前の競合を回避しながら、同じデータベース内で複数のアプリケーションをホストできる可能性があります。これらの理由はどちらもあまり良くなく、機能を利用するものはほとんどありませんが、それでも時々それに遭遇します。

を使用DotNetNuke.Common.Utilities.Config.GetObjectQualifer()して、現在のサイトのオブジェクト修飾子を取得できます。

パッケージのインストールの一部として実行するスクリプトでは、DNNが自動的にトークンを正しい値に置き換え{databaseOwner}ます{objectQualifier}

EntityFrameworkまたはLINQtoSQLを使用する場合、これらを自動的に考慮に入れるBrandonHaynesによってまとめられたモデルアダプターがあります。

于 2013-03-21T21:02:03.373 に答える