Я играл с EntityFramework CTP4 и решил применить его к одному из моих текущих проектов. Приложение использует базу данных SQLServer и есть одна таблица с составным ключом. Скажем, таблица «MyEntity» имеет «Key1» и «Key2» как внешние ключи (индивидуально) и как составной первичный ключ.Entity Framework CTP4 и составные клавиши
Я сделал класс конфигурации, полученный из 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 записей).
Я подозреваю, что проблема связана с составным ключом, поскольку никакая другая сущность не показывает эту проблему.
Любая помощь будет признателен, спасибо :)
CTP4? ?? Почему бы не использовать версию выпуска? Это из! –
Мой плохой, я имел в виду только что выпущенную функцию CTP4, которая улучшает подход Code-First. – DrunkenBeard
EntityConfiguration выглядит как EntityTypeConfiguration в EF4.1. –