2

Visual StudioでC#を使用してアプリケーションを開発しています。これは、ローカルデータベースを使用する最初のC#アプリケーションであるため、これがどのように行われるのか正確にはわかりません。私はcodeguruからこの記事をフォローしています。

私は自分のエンティティを宣言しました。これらはすべて、現在これから継承しているだけです。

public class Reference
{
    /// <summary>
    /// ID of the reference.
    /// </summary>
    public int Id { get; set;  }

    /// <summary>
    /// Reference to the element in theTVDB.
    /// </summary>
    public int TheTVDBId { get; set; }

    /// <summary>
    /// Whether or not the reference has been marked as watched.
    /// </summary>
    public bool IsWatched { get; set; }
}

また、DbContextを次のように宣言しました。

public class Library : DbContext
{
    /// <summary>
    /// Constructor using the base constructor.
    /// This constructor names the database "Library".
    /// </summary>
    public Library() : base("Library")
    {
    }

    /// <summary>
    /// Set of TVSeriesReferences stored in the database.
    /// </summary>
    public DbSet<TVSeriesReference> TVSeriesReferences { get; set; }

    /// <summary>
    /// Set of SeasonReferences stored in the database.
    /// </summary>
    public DbSet<SeasonReference> SeasonReferences { get; set; }

    /// <summary>
    /// Set of EpisodeReferences stored in the database.
    /// </summary>
    public DbSet<EpisodeReference> EpisodeReferences { get; set; }
}

私は次のことを行ってデータベースにエンティティを保存しようとしています:

Library db = new Library();

TVSeriesReference reference1 = new TVSeriesReference();
reference1.TheTVDBId = 1234;
reference1.IsWatched = true;
db.TVSeriesReferences.Add(reference1);

TVSeriesReference reference2 = new TVSeriesReference();
reference2.TheTVDBId = 8000;
db.TVSeriesReferences.Add(reference2);

int i = db.SaveChanges();

これはすべてうまくいくようです。少なくとも、エラーiは発生せず、実行するたびに2になります。

問題は、データベース(「ライブラリ」という名前)がどこにも表示されないことです。実際、私はその「オブジェクトエクスプローラー」ビューさえ持っておらず、それを見つけることができないようです。データベースが表示されないため、これが機能しているかどうか、およびデータが実際に保存されているかどうかはわかりません。

誰かが私が間違っていることを知っていますか、または私が何かを逃しているかどうかを知っていますか?

4

1 に答える 1

1

私はこの問題を解決したようです。

私は次のことをしました:

  1. サーバーエクスプローラーで、[データ接続]を右クリックし、[接続の追加...]を選択して、MicrosoftSQLServerを作成しました。サーバー名を.\SQLEXPRESSに、データベース名をに設定しましたLibrary
  2. 次に、以下を追加しましたapp.config。現在は機能しているようです。
<connectionStrings>
    <add name="Library"
         providerName="System.Data.SqlClient"
         connectionString="Data Source=.\SQLEXPRESS;Database=Library;Trusted_Connection=true;" />
</connectionStrings>
于 2012-10-18T18:58:51.660 に答える