Я нашел проблему, решение находится в комментариях.Не удается получить данные с кодом EF Сначала
Я могу создать таблицы и диаграмму, но я не могу поместить данные в таблицу.
1.I установлен EF от Nuget.
2.Чтобы настроить консоль PM, я написал Enable-Migrations -EnableAutomaticMigrations.
Модель находится в библиотеке классов All.Model и методы контекста в библиотеке классов All.Dal. Я не понимал, что я делаю неправильно, можете ли вы мне помочь?
Это мой контекст код:
using All.Model;
namespace All.Dal
{
public class AllDb : DbContext
{
public AllDb()
{
Database.Connection.ConnectionString = "Server=SEUPHORIA;Database=AllDb;UID=sa;PWD=123;";
}
public DbSet<Category> Categories { get; set; }
public DbSet<Comment> Comments { get; set; }
public DbSet<Line> Lines { get; set; }
public DbSet<User> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer<AllDb>(new DbStrategy());
modelBuilder.Entity<Category>().Property(c => c.Name).IsRequired();
modelBuilder.Entity<Comment>().Property(c => c.Letter).IsRequired();
}
}
}
И это мой код стратегия:
using All.Model;
namespace All.Dal
{
public class DbStrategy : DropCreateDatabaseIfModelChanges<AllDb>
{
protected override void Seed(AllDb context)
{
List<Category> CategoryDefault = new List<Category>
{
new Category { Name="Organic", UpID = 0 },
new Category { Name="Object", UpID=0},
new Category { Name="Time",UpID=0},
};
foreach (Category item in CategoryDefault)
{
context.Categories.Add(item);
} context.Users.Add(new User { Name = "sss" });
}
}
}
это моя категория класс:
public class Category : Standart
{
public int UpID { get; set; }
public string Name { get; set; }
public int LineID { get; set; }
public virtual List<Line> Lines { get; set; }
}
Вы можете поделиться схемой таблицы категорий? – prashant
Я добавил категорию – Seuphoria
, пожалуйста, ознакомьтесь с этим http://stackoverflow.com/questions/17044162/cannot-insert-by-using-entity-framework – prashant