Check if a table is empty with Entity Framework using CodeFirst

.net c# entity-framework

Question

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?

1
10
2/25/2017 8:54:24 PM

Accepted Answer

This should work:

using (var db = new CreateDbContext())
{
    if(!db.Projects.Any())
    {
        // The table is empty
    }
}
31
4/24/2013 1:19:23 PM

Popular Answer

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.



Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow