2016-10-11 200 views
1

当我尝试选择列表中的所有项目时,我得到一个空列表。实体框架返回空列表

这是我Business.Classification班,在那里我称之为ToList()

public class Classification 
{ 
    private DatabaseContext db; 

    public Classification() 
    { 
     if (db == null) 
      db = new DatabaseContext(); 
    } 

    public int getClassification() 
    { 

     using (db) 
     { 
      List<Classification> a = db.ClassificationContext.ToList(); 

      return a.Count; 
     } 
    } 

} 

这是我的模型类:

[Table("Classification")] 
public class Classification 
{ 
    [Key, DatabaseGenerated(DatabaseGeneratedOption.None)] 
    [Column] 
    public Guid ClassificationId { get; set; } 

    [Column] 
    public string ClassificationName { get; set; } 

} 

这里去我的上下文类:

public class DatabaseContext : DbContext 
{ 
    public DbSet<Classification> ClassificationContext { get; set; } 

} 

这里是我的商业项目的应用程序配置文件:

<configuration> 
    <connectionStrings> 
    <add name="Conection" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Guilherme\Documents\Database.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.EntityClient"/> 
    </connectionStrings> 
    <configSections> 
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </configSections> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
    </entityFramework> 
</configuration> 
+0

你必须在数据库记录的方式的问题吗? –

+0

尝试其他表来查看您的连接是否正常工作。 – user3754008

+0

@ErikPhilips是的,我已经导入到SQL服务器,我已经检查了 – guisantogui

回答

0

您的连接字符串可能会导致此问题。

<connectionStrings> 
<add name="DatabaseContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Guilherme\Documents\Database.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.EntityClient"/> 
</connectionStrings> 
0

试试这个,可能会对你使用上下文

`

using (DatabaseContext context = new DatabaseContext()) 
{ 
return context.tablename.tolist().count; 
} 

`

+0

我试过了,没有工作 – guisantogui

+0

那么它肯定是你的连接串的问题 –