LINQ2SQL, сгенерированные классы, способные поместить в отдельный проект?

StackOverflow https://stackoverflow.com/questions/1479718

Вопрос

Может ли кто -нибудь сказать мне, возможно ли извлечь классы, сгенерированные LINQ2SQL в отдельный проект в C#? - Полагаю, я могу просто создать файлы, а затем скопировать их в новый проект и добавить ссылку на мой проект данных?

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

В настоящее время уровень данных также имеет сгенерированный LINQ2SQL, так как именно здесь DBML.

Поэтому мне нужно иметь ссылку от обслуживания на данные, что хорошо! Но у меня есть мой пользовательский интерфейс, чтобы ссылаться на уровень обслуживания, но я не думаю, что для моего пользовательского интерфейса это хорошая идея, чтобы иметь ссылку на уровень данных (как это нужно для классов LINQ2SQL).

Таким образом, единственный способ, которым я вижу, - это вытащить занятия и поместить в отдельный проект, чтобы все проекты могли поделиться. Это хорошая практика?

Какие соглашения об именах я должен назвать этот проект, DTO? Поко? Сущности? или похожие

Я действительно хотел бы услышать, как справиться с тем, как сделать это, и погода я - правильная линия

Это было полезно?

Решение

Я не на 100% уверен, что это также работает для linq2sql (я думаю, это делает), но это то, что я делаю с Linq2entities:

Как только классы были сгенерированы, я вручную перемещаю их в другой проект. Я обычно называю этот проект xxxxxx.model. Существуют, вероятно, также будут в порядке, но я бы держался подальше от DTO и Poco, потому что эти классы не являются ни тем, чтобы ни были. Я полагаю, что есть способ сделать Poco с Linq2sql, но не в том случае, если вы используете дизайнер. Затем я добавляю ссылки по мере необходимости в другие слои.

Надеюсь это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top