2013-04-24 79 views
4

我正在開發使用MVVM的應用程序,我希望使用Entity Framwork 5.0。這是我第一次使用EF,所以希望我能解釋我的問題,讓你們都明白。 我的應用程序有一個嵌入式數據庫,使用Code-First方法。使用CodeFirst檢查實體框架中的表是否爲空

下面是一個例子來說明問題: 在這裏我設置我的項目模型,我設置爲嵌入式數據庫中的表,如果我理解正確。

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

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

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

現在在我的ProjectViewModel我想檢查如果項目表是空的數據庫中,之前做任何事情。

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

我應該怎麼做,或者甚至有可能?

回答

21

這應該工作:

using (var db = new CreateDbContext()) 
{ 
    if(!db.Projects.Any()) 
    { 
     // The table is empty 
    } 
} 
+0

嘿greg84。 這很簡單,就像一個魅力。 非常感謝m8 – mskydt86 2013-04-24 13:26:07

+0

你應該將它標記爲答案,因爲它正是你要求的 – Charles380 2013-04-24 13:34:07

+0

已經這樣做了,但必須等待8分鐘才能標記答案。 – mskydt86 2013-04-24 13:36:12

0

您還可以使用Count()

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

要查看之間Any()Count()看到this question的差異。