簡體   English   中英

使用CodeFirst檢查實體框架中的表是否為空

[英]Check if a table is empty with Entity Framework using CodeFirst

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

我該怎么做,或者甚至可能嗎?

這應該工作:

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()之間的差異,請參閱此問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM