Я играл с EntityFramework CTP4 и решил применить его к одному из моих текущих проектов. Приложение использует базу данных SQLServer и есть одна таблица с составным ключом. Скажем, таблица «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 раз, а вторая - 18 раз (для записи в моей таблице 36 записей).
Я подозреваю, что проблема с составным ключом, так как ни одна другая сущность не показывает эту проблему.
Любая помощь будет оценена, спасибо:)