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. 在服务器资源管理器中,我右键单击数据连接,选择“添加连接...”并创建一个 Microsoft SQL Server。我将服务器名称设置为.\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 回答