Есть вот такие классы:
Модель:
public class User {
[Key]
[Required]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public int Age { get; set; }
}
Инициализация базы данных:
public class Initialize : DropCreateDatabaseIfModelChanges<CreateDB> {
protected override void Seed(CreateDB context) {
var user = new List<User> {
new User { Id = 1, Name = "Тест1", Age = 10 },
new User { Id = 2, Name = "Тест2", Age = 11 },
new User { Id = 3, Name = "Тест3", Age = 12 },
new User { Id = 4, Name = "Тест4", Age = 13 },
new User { Id = 5, Name = "Тест5", Age = 14 },
};
user.ForEach(u => context.user.Add(u));
context.SaveChanges();
}
}
Создание базы данных:
public class CreateDB : DbContext {
public CreateDB() : base("DefaultConnection") { }
public virtual DbSet<User> user { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
И основной Main класс:
static void Main(string[] args) {
Database.SetInitializer<CreateDB>(new Initialize());
Console.WriteLine("End");
Console.ReadKey();
}
В App config прописал:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=User;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
База подключина в Server Explorer. Но у меня ничего не работает. Я уже голову сломал что я сделал не так. Уже перепробовал многое но у меня не создается БД и не заливаются данные. Помогите кто силен. Исключений нет. Работа программы отробатывается. Но проверял ставил точки останова. Она не заходит даже внутрь инициализации БД не пойму почему. P.S Заранее спасибо.
Так стартует подключение:
Database.SetInitializer(new Initialize());
CreateDB db = new CreateDB();
db.Database.Initialize(true);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей