Проверьте, пуста ли таблица с Entity Framework с помощью CodeFirst

Я разрабатываю приложение с использованием MVVM, где я хочу использовать Entity Framwork 5.0. Это мой первый раз, когда я использую EF, поэтому надеюсь, что я смогу объяснить свою проблему, чтобы вы все поняли. Мое приложение имеет встроенную базу данных и im, используя код-первый подход.

вот пример, чтобы проиллюстрировать проблему: Здесь я устанавливаю свою модель проекта, которую я устанавливаю как таблицу во встроенной базе данных, если я правильно понимаю.

class CreateDbContext : DbContext
{
    public CreateDbContext() : base() { }

    public CreateDbContext(String nameOrConnectionString) : base(nameOrConnectionString) { }

    public DbSet<Project> Projects { set; get; }
}

теперь в моем ProjectViewModel я хочу проверить, если Таблица проекта пуста в базе данных, прежде чем что-либо делать.

using (var db = new CreateDbContext())
{
    if(db.Projects <-- checked if this is Tablet is empty ??)
}

Как я должен это сделать, или это даже возможно?

2 ответов


Это должно работать:

using (var db = new CreateDbContext())
{
    if(!db.Projects.Any())
    {
        // The table is empty
    }
}

вы также можете использовать Count():

if(db.Projects.Count() == 0) 
{
    // The table is empty.
}

чтобы увидеть различия между Any() и Count() посмотреть этот вопрос.