2010-10-10 3 views

ответ

0

вся точка абстрактного класса - это thu tyou наследует от него и не может создать в примере непосредственно.

так что в структуре сущности он представляет собой нормализацию данных из нескольких таблиц в одну общую таблицу, а затем с использованием наследования таблицы, чтобы иметь набор объектов с различными типами, которые могут быть разбиты на один тип.

если у вас есть абстрактный класс называется объект и некоторые наследники него, которые имеют данные в таблицах ...

вы можете написать что-то вроде этого

var results = from i in dataContext.Objects.OfType<Foo>() 
       select i 

вы также можете сделать это

var results = from i in dataContext.Objects 
        select i 

и вы получите коллекцию абстрактного класса Object, каждый член которой будет экземпляром класса, наследуемого от объекта.

Это означает, что вы можете иметь общее поведение или переопределенное поведение в подтипах. Его очень мощный в правильных местах ... .eg типы транзакций или типы методов оплаты.

0

Абстрактные типы - типы/классы, которые не могут быть созданы. Это означает, что вы не можете создавать объекты из этого класса. Если у вас есть абстрактный класс 'foo', вы не можете позвонить new foo() (пример кода Java). См. wiki для получения дополнительной информации об абстрактных типах.

+0

Это * - * правильный ответ об убираемых типах, хотя и не (по запросу) в контексте Entity Framework. –

+0

Я не мог найти ссылку в Интернете на любую концепцию, называемую * abstract class *, которая специфична для Entity Framework и отличается от «нормального» значения, поэтому этот ответ кажется уместным. – Timwi

+0

Я, вероятно, должен был указать концепцию абстрактного типа как общую концепцию и не связан с контекстом Entity Framework. Виноват! – thomaux

Смежные вопросы