15

我正在使用 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; }
}

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

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

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

4

2 回答 2

41

这应该有效:

using (var db = new CreateDbContext())
{
    if(!db.Projects.Any())
    {
        // The table is empty
    }
}
于 2013-04-24T13:19:23.197 回答
3

您还可以使用Count()

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

要查看两者之间的差异Any()Count()请参阅此问题

于 2017-02-25T21:01:51.633 回答