使用CodeFirst检查实体框架中的表是否为空

msk*_*t86 10 .net c# entity-framework

我正在使用MVVM开发一个应用程序,我想使用Entity Framwork 5.0.这是我第一次使用EF,所以希望我能解释一下我的问题所以你们都明白了.我的应用程序有一个嵌入式数据库,我正在使用Code-First方法.

下面是一个示例来说明问题:这里我设置了我的项目模型,我在嵌入式数据库中设置为一个表,如果我理解正确的话.

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

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

    public DbSet<Project> Projects { set; get; }
}
Run Code Online (Sandbox Code Playgroud)

现在,在我的ProjectViewModel中,我想在执行任何操作之前检查数据库中的Project表是否为空.

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

我该怎么做,或者甚至可能吗?

gre*_*g84 31

这应该工作:

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

  • 另外不要忘记添加`using System.Linq;`。 (4认同)