首先是EF代码 - 未填充LocalDB

时间:2013-01-30 07:14:40

标签: entity-framework code-first localdb

我正在使用EF与codefirst和LocalDb。下面的代码不完全是我的,但我发现它重现了同样的问题。 第一次运行后,我用Visual Studio打开localDb文件,没有任何表,但主函数中的查询工作正常。 另一件事 - 每次运行都会调用CreateDatabaseIfNotExists。

<add name="SampleDbContainer" connectionString="Data Source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\SampleDb.mdf;integrated security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />

public partial class SampleDbContainer : DbContext
{
    public SampleDbContainer() : base("name=SampleDbContainer")
    {
        public DbSet<Parameter> Parameters { get; set; }
    }

    public class Parameter
    {
        [Key]
        public string Name { get; set; }
        public string Value { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Database.SetInitializer(new Initializer());
            var ctx = new SampleDbContainer();
            Console.WriteLine(ctx.Parameters.Count().ToString());
        }
    }

    class Initializer : CreateDatabaseIfNotExists<SampleDbContainer>
    {
        protected override void Seed(SampleDbContainer context)
        {
            base.Seed(context);
            context.Parameters.Add(new Parameter { Name = "test", Value = "TestValue" });
            context.SaveChanges();
        }
    }

0 个答案:

没有答案
相关问题