Я начинаю работать с моделями сущностей ADO.NET, и все мои объекты имеют несколько общих полей, таких как FileAs
(первичный ключ), SourceURL
, Name
и Description
, Кроме этих полей, они все очень разные. Сначала я реализовал их, используя абстрактный класс Reference
, содержащий вышеупомянутые поля, и все мои другие объекты наследуют его. Это, однако, заставляет меня запрашивать каждый из моих объектов следующим образом:
foreach (MyObject obj in context.References.Where(o=>o is MyObject)) { ... }
Я не хочу искать в каждом из моих Reference
s, чтобы найти все MyObjects
, и хочу просто позвонить foreach (var obj in context.MyObjects) { ... }
.
Я мог бы просто добавить общие свойства к каждому из MyObject
классов, но тогда FileAs
не будет уникальным для всех MyObject1
с * MyObject2
с. Я мог бы установить отношение 0..1
к 1
между Reference
и всеми MyObject
с, но это позволило бы применить один Reference
к нескольким различным MyObject
с различными типами.