EF5 を使用して SQL データベースにマップする Web アプリがあります。これは、追加のテーブルを追加した標準のメンバーシップ データベースです。そのプロジェクトのチャンピオンのように動作します。
私は2番目のプロジェクトを持っています.TCPサーバーを実行しているWindowsサービスは、同じデータベースにアイテムを挿入する必要があります。したがって、この 2 番目のプロジェクトから Web アプリを参照し、必要に応じて DbContext とエンティティの種類を確認できます。
ただし、実行時に、DbSet にデータが入力されることはありません。次のように、接続を明示的に開いてクエリも実行しようとしました。
public MyContext()
: base("DefaultConnection")
{
try
{
Database.Connection.Open();
var command = new System.Data.SqlClient.SqlCommand("SELECT * FROM dbo.Trackers", (SqlConnection) Database.Connection);
var reader = command.ExecuteReader();
bool result = reader.Read();
}
catch (Exception exception)
{
//handle exception
}
this.Database.Connection.Close();
}
結果は false ですが、接続が作成され、リーダーはテーブルに 4 つのフィールドがあることを認識しています。これが私のWebアプリでは機能するが、参照アプリでは機能しない理由を知っている人はいますか?