Добавления ссылки на неабстрактное свойство навигации отлично:Entity Framework - Добавить ссылку на абстрактное свойство навигации без загрузки
class Entity {
int Id { get; set; }
Reference Reference { get; set; }
Parent Other { get; set; }
}
class Reference {
int Id { get; set; }
}
abstract class Parent {
int Id { get; set; }
}
class Child : Parent { }
async Task DbMethod() {
using(var context = new XYZDbContext()) {
var reference = new Reference { Id = 6 };
context.Attach(reference);
var entity = new Entity {
Id = 3,
Reference = reference,
};
context.Add(entity);
await context.SaveChangesAsync();
}
}
Но если бы я хотел, чтобы установить Other
свойства существующей запись (скажем, идентификатор 42), я не могу создать экземпляр класса Parent
(как абстрактного), как я делаю с классом Reference
.
Как бы добавить ссылку на существующий объект для абстрактного класса Parent
? Я полагаю, что я мог бы добавить OtherId
собственности к Entity
классу и установить, что, но я хотел бы, чтобы не загрязнять объект, если это возможно
Этот пример надуман для краткости. Класс должен быть абстрактным – flipchart