私はEntityFrameworkCTP4で遊んでいて、それを現在のプロジェクトの1つに適用することにしました。アプリケーションはSQLServerデータベースを使用し、複合キーを持つテーブルが1つあります。たとえば、テーブル「MyEntity」には、外部キー(個別)と複合主キーの両方として「Key1」と「Key2」があります。
EntityConfigurationから派生した構成クラスを作成しました:
class MyEntityConfiguration : EntityConfiguration<MyEntity>
{
public MyEntityConfiguration()
{
HasKey(m => m.Key1);
HasKey(m => m.Key2);
}
}
次に、私のDataContext(DbContextから派生)で:
public DbSet<MyEntity> MyEntities { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new MyEntityConfiguration());
}
問題は、「MyEntities」にすべてのレコードを照会すると、次のようになることです。
var entities = from e in MyModel.Instance.MyEntities
select e;
最初のレコードが18回繰り返され、次に2番目のレコードが18回繰り返されるという非常に奇妙な結果が得られます(レコードの場合、私のテーブルには36のレコードがあります)。
他のエンティティがこの問題を示していないため、問題は複合キーにあると思われます。
助けていただければ幸いです、ありがとう:)