开始使用EF(SqlServerCe)

时间:2013-01-26 21:25:14

标签: c# entity-framework sql-server-ce-4

我正在WPF中创建一个应用程序,我想使用SQL Server Compact 4.0连接到数据库。

我将数据库添加到项目中。并使用NuGet我添加了

  • System.Data.SqlServerCe
  • System.Data.SqlServerCe.Entity

在我的app.config中添加了一个连接字符串:

 <connectionStrings>
    <add name="Biblionerzy.Properties.Settings.Database1ConnectionString"
      connectionString="Data Source=|DataDirectory|\Database1.sdf"
      providerName="Microsoft.SqlServerCe.Client.4.0" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="System.Data.SqlServerCe.4.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>

我创建了一个简单的类:

namespace Biblionerzy
{
   public class model
    {
        [Key] 
        public int Id { get; set; }
        public string Pytanie { get; set; }
        public string A { get; set; }
        public string B { get; set; }
        public string C { get; set; }
        public string D { get; set; }
        public string Prawidlowa_odp { get; set; }
        public int Stawka { get; set; } 
    }

   public class PytaniaModel : DbContext
   {
       public DbSet<model> Modele { get; set; }
   }
}

现在,如何在数据库中添加任何内容?

1 个答案:

答案 0 :(得分:1)

我认为你只是想先开始使用EF代码(如果没有,我会删除答案)。

通过你的问题看起来你得到了一切设置。

您可能需要添加[Key]属性,我无法理解下面的内容,所以我只添加了一个属性ID,我给了[Key]属性。

   public class model
    {
        [Key]
        public int Id {get;set;}
        public string Pytanie { get; set; }
        public string A { get; set; }
        public string B { get; set; }
        public string C { get; set; }
        public string D { get; set; }
        public string Prawidlowa_odp { get; set; }
        public int Stawka { get; set; } 
    }

   public class PytaniaModel : DbContext
   {
       public DbSet<model> Modele { get; set; }
   }

只是实例化一个类的对象并使用它......

   var dbContext = new PytaniaModel();
   dbContext.Modele.Add(new Model());
   dbContext.SaveChanges();

就是这样,检查数据库并验证数据库是否已创建,并将第一行存储在表中。