18

I'm developing an application using MVVM where i want to use Entity Framwork 5.0. It's my first time using EF, so hope i can explain my problem so you all understand. My application has a embedded database and im using Code-First approach.

Here is an example to illustrate the problem: Here i set my Project model which i set as a table in the embedded database, if i understand correct.

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

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

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

Now in my ProjectViewModel i want to check if the Project table is empty in the database, before doing anything.

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

How should i do that, or is it even possible?

A-Sharabiani
  • 17,750
  • 17
  • 113
  • 128
RooKie-
  • 1,373
  • 3
  • 13
  • 24

2 Answers2

43

This should work:

using (var db = new CreateDbContext())
{
    if(!db.Projects.Any())
    {
        // The table is empty
    }
}
greg84
  • 7,541
  • 3
  • 36
  • 45
3

You can also use Count():

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

To see the differences between Any() and Count() see this question.

Community
  • 1
  • 1
A-Sharabiani
  • 17,750
  • 17
  • 113
  • 128