異なるデータベースに対して異なるライセンススキーマを持つ製品とそうでない製品があります。特に、SQLExpress上ではより低位の製品が実行されますが、エンドユーザーは「フル・ファット」SQLのインストールを使用して価格を引き下げることはできません。明らかに、これは他のDBの場合にも当てはまるはずです。したがって、OracleはSQLよりも高い価格を指図することがあります(仮想的に)。Entity Framework:ライセンスのためにDBSchemaを検出します
私たちはEntity Frameworkを使用しています。明らかに、これは、コアスキーマにアクセスし、sp_versionを使用するか、それが何であれ、すべてのきれいさを隠します。私たちは、一連のSQLコマンド(プラットフォームごとに1つずつ)を実行して条件をプリロードするのではなく、DBオプションを制限するために戻ってくるものを参照します。しかし、もし必要ならば、私たちはそれをする準備ができています。
だから、EF自体を使ってこれを得ることは可能ですか? DBContext.COnnection.ServerVersionは、 "9.00.1234"(SQL Server 2005の場合)のようなものだけを返します。私は(まだチェックしていないが、インスタンスをインストールする必要がある)と仮定して、SQLExpressは何か類似したものを返すだろう - それは完全な脂肪である "ふりをする"。明らかに、私たちはOracle/MySQL/etcを持っていません。インスタンスは、 "Oracle"などのテキストを返すかどうかを判断できません。
ご意見ありがとうございます。あなたは唯一の回答者なので、私は私の答えがあると思います! SQL Serverのインストールを確認するためにコードを使用します。どうもありがとう。 –
あなたは大歓迎です。大目盛りボックスを自由に使用してください:P – gbn