Классы LINQ to SQL, реализующие интерфейс - PullRequest
0 голосов
/ 06 января 2012

Я проектирую модель данных для приложения с конструктором LINQ to SQL (O / R) и задаюсь вопросом: можно ли (многим) классам реализовать интерфейс или базовый класс и хранить значения реализованных полей в БД?

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

Мне известна опция указания глобального базового класса или интерфейса в файле .dbml, но это не очень элегантно, поскольку у меня будут некоторые классы L2S, которые не реализуют интерфейс.

Я знаю, что это легко сделать с чем-то вроде NHibernate. Я просто хотел бы посмотреть, есть ли способ сделать это с LINQ to SQL элегантным способом.

Есть указатели?

1 Ответ

1 голос
/ 06 января 2012

Да, это возможно. Просто добавьте отдельные файлы кода с частичными аналогами ваших классов и реализуйте свои интерфейсы там.

...