Asp.net MVCプロジェクトでエンティティデータモデルフレームワークを使用しています。テーブルにデータベースが存在し、モデルに存在しないかどうかを確認する必要があります。どのようにして、テスト目的でコントローラレベルでチェックするかを手助けできますか?データベースにテーブルが存在し、モデルに存在しないことを確認してください
答えて
使用しているデータベースについては言及していませんが、SQL Serverと仮定します。
は、ここでは、テーブルのリストを取得する方法は次のとおりです。
USE YourDBName
GO
SELECT *
FROM sys.Tables
あなたはクエリを実行するためにAdo.Netを使用することができますか、あなたのエンティティデータモデルにテーブルのテーブルを追加することができます。
更新
ここにいくつかの方法があります。ニーズに合わせて調整する必要があるかもしれません。
[dbo]。[sysobjects]には、データベース内に作成された制約、テーブル、ビュー、ストアドプロシージャ、関数などのオブジェクトごとに1つの行が含まれています。オブジェクトのタイプを判別するには、オブジェクトタイプを含む[xtype]列を照会します。ユーザテーブルの場合、[xtype]値はユーザテーブルを表す 'U'です。
SELECT [Name] FROM [dbo].[sysobjects]
WHERE [xtype] = 'U'
2番目の方法は[Information_Schema]。[Tables]システムビューを照会することです。 [Information_Schema]。[Tables]システムビューには、現在のユーザーがアクセス権を持つ現在のデータベース内の各テーブルの行が1つ含まれています。このviwは[dbo]。[sysobjects]システムテーブルに基づいています。 [Information_Schema]。[Tables]システムビューには、リスト内のビューも含まれます。
SELECT * FROM [Information_Schema].[Tables]
WHERE [Table_Type] = 'BASE TABLE'
にユーザー表を一覧表示する第3の方法:だけユーザーテーブルをフィルタリングするには、あなただけの出力には、次のクエリからわかるように、[TABLE_TYPE]、「ベーステーブル」であるレコード意志データベースはsp_tablesシステムストアドプロシージャを使用して行われます。 sp_tablesシステムストアドプロシージャは、FROM句に表示されるオブジェクトのリストを返します。あなたは、次のクエリからわかるように、あなたが、「『TABLE』」に@table_typeパラメータを設定する必要があり、ユーザテーブルのみではなく、システム・テーブルまたはビューと懸念しているので:
EXEC sp_tables @table_type = "'TABLE'"
- 1. 保存されていない、データベースに存在しない電子メールフィールドを確認してください。
- 2. gitにコードが存在していないか確認してください。
- 3. Lodash、オブジェクトが存在し、プロパティが存在し、trueであることを確認してください
- 4. 存在しない場合は、テーブル名を確認してください
- 5. SQLiteデータベースに値が既に存在するか確認してください。
- 6. TrendlineがVBAに存在することを確認してください
- 7. ユーザーがFirestoreに存在することを確認してください
- 8. コアデータにオブジェクトの存在を確認してください
- 9. HTML内にIDの存在を確認してください
- 10. 存在しない場合、エラーなしで項目が存在するか確認してください。
- 11. データベースに値が存在するか確認してください
- 12. カラムがJoomlaテーブルに存在するか確認してください。
- 13. Mysql - 外部テーブルにIDが存在するか確認してください
- 14. informixデータベースとpostgresqlデータベースにテーブルが存在するかどうか確認してください
- 15. キューが存在するか確認してください。
- 16. SSRSパラメータが存在するか確認してください
- 17. リダイレクトURLが存在するか確認してください。
- 18. Ruby - ハッシュキーが存在することを確認してください。
- 19. CMakeローカルファイルが存在することを確認してください
- 20. Angular2:http.getでファイルが存在することを確認してください
- 21. JSTL:プロパティが存在しないか確認してください
- 22. 複数のパラメータの存在を確認してください
- 23. YAMLキーの存在を確認してください
- 24. IndexedDBデータベースが存在するかどうか確認してください
- 25. 作成したデータベースにU-SQLのテーブルが存在するか確認してください
- 26. Symfony/Doctrineに1対多のレコードが存在しないことを確認してください
- 27. .matファイルが存在し、壊れていないことを確認してください - Matlab
- 28. 最初のテーブルにのみ存在し、2番目のテーブルに存在しない場合は、値を確認してください
- 29. ユーザーが信頼できるADドメインに存在していることを確認してください
- 30. 現在存在するSSH接続の量を確認してください
うーん..クエリから私たちはすべてのテーブルのリストを取得すると述べましたが、モデルにはなくデータベースにあるテーブルのリストだけを取得する必要があります。 – SKumar
私はあなたの答えを更新しました。さらに詳しい説明が必要な場合は、再度コメントしてください。 – rboarman