Я пытаюсь использовать подход к аннотации данных в моем проекте инфраструктуры кода для первой сущности.
Вот мои сущности: (показаны ограниченные поля)
public partial class CUSTOMEREXT
{
[StringLength(36)]
public string ID { get; set; }
public virtual CUSTOMER CUSTOMER { get; set; }
}
public partial class CUSTOMER
{
[StringLength(36)]
public string ID { get; set; }
public virtual CUSTOMEREXT CUSTOMEREXT { get; set; }
}
Свободный API: (Это работает)
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<CUSTOMER>()
.Property(e => e.ID)
.IsFixedLength()
.IsUnicode(false);
modelBuilder.Entity<CUSTOMER>()
.HasOptional(e => e.CUSTOMEREXT)
.WithRequired(e => e.CUSTOMER);
modelBuilder.Entity<CUSTOMEREXT>()
.Property(e => e.ID)
.IsFixedLength()
.IsUnicode(false);
}
Динамически генерировать построитель модели: (Это не работает)
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.AddFromAssembly(Assembly.GetAssembly(GetType())); //Current Assembly
base.OnModelCreating(modelBuilder);
}
Код для проверки:
Model1 model = new Model1();
var outp = model.Set<CUSTOMEREXT>().ToList();
var out1p = model.Set<CUSTOMER>().ToList();
Ошибка:
Невозможно определить основной конец ассоциации между типами 'OraclePOC.CUSTOMER' и 'OraclePOC.CUSTOMEREXT'.Основной конец этой ассоциации должен быть явно сконфигурирован с использованием API-интерфейса, обеспечивающего свободное взаимодействие или аннотации данных.
Глядя на this , я знаю, что должен преобразовать WithRequired
ватрибут аннотации данных.Не уверен, как?
Есть идеи?