2017-07-29 3 views
-2

こんにちは私は1つの問題があります。 Entity Frameworkを使って簡単なコンソールアプリケーションからデータを取得することはできません。 localdbとテーブルのデータベースがいっぱいです。すべての名前が正しい。モデルクラスを変更するとエラーが発生し、エンティティフレームワークがこのdbに接続することを意味します。なぜ私は何かデータを得ることができない私を説明することはできますか? Console.WriteLine(baseD.ConsoleEntities.Count());は、3行が必要な場合は0を返します。私はそれを得るC#エンティティフレームワークコンソール。なぜ私の返されたデータ数が0です

public class ConsoleDbContext : DbContext 
{ 
    public ConsoleDbContext() 
    : base("name=ConsoleDbContext") 
    { } 

    public DbSet<Entity> ConsoleEntities { get; set; } 
} 
+0

https://stackoverflow.com/questions/21258462/entity-framework-dbset-contains-0-recordsがお手伝いしていますか? – mjwills

+0

詳細な情報や意味のある回答を提供する必要があります。どのバージョンのEntity Frameworkを使用していますか? –

+0

最新のEntityフレームワークではありません。 –

答えて

1

! "Entity"という名前の私のモデルクラスは "Entities"に変更され、ENTITIESはテーブルの名前です。どうして? Entityフレームワークが "PluralizingTableNameConvention"の名前の末尾に 's'または 'es'を追加するためです。そのテスト学習プロジェクトを修復したものが、テーブルの名前をエンティティからエンティティに変更するか、EntityフレームワークでPluralizingTableNameConventionを無効にするかを変更します。すべての回答ありがとう!

+1

申し訳ありませんが、動作しません。 –

0

:あなたはこれを試す、DbContextにCONNSTRINGを指定する必要が

class Program 
{ 
    static void Main(string[] args) 
    { 
     var baseD = new ConsoleDbContext(); 
     Console.WriteLine(baseD.ConsoleEntities.Count()); 
     Console.WriteLine("Done"); 
     Console.ReadKey(); 
    } 
} 



public class ConsoleDbContext : DbContext 
{ 
    public DbSet<Entity> ConsoleEntities { get; set; } 
} 
public class Entity 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public string Description { get; set; } 
} 
関連する問題