2016-10-11 17 views
1

リスト内のすべてのアイテムを選択しようとすると、空のリストが表示されます。Entity Frameworkが空のリストを返します

これは、私はこれが私のモデルクラスです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; 
     } 
    } 

} 

呼び出す私Business.Classificationクラスは、次のとおりです。ここで

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

} 

です:

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

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

} 

は私のContextクラスが行きます私のビジネスプロジェクトのapp設定ファイル:

<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

あなたはあなたがDB内のレコードを持っているコンテキスト

`

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

`

+0

私はそれを試してみましたが、うまくいきませんでした – guisantogui

+0

それからあなたのconn文字列に問題がなければなりません –

関連する問題