Classes geradas por Linq2SQL capazes de colocar em um projeto separado?
-
18-09-2019 - |
Pergunta
Alguém pode me dizer se é possível extrair as classes geradas Linq2SQL para um projeto separado em C#? - Presumo que posso simplesmente criar os arquivos e copiá -los para um novo projeto e adicionar uma referência ao meu projeto de dados?
O problema que tenho é que tenho minha interface do usuário, camada de serviço e camada de dados ...
Atualmente, a camada de dados também possui o LINQ2SQL gerado, pois é onde está o DBML.
Portanto, eu preciso ter uma referência de serviço a dados, o que é bom! Mas tenho minha interface do usuário para fazer referência à camada de serviço, mas não acho que seja uma boa ideia a minha interface do usuário ter uma referência à camada de dados (como precisaria dela para as classes Linq2SQL).
Portanto, a única maneira de ver é retirar as aulas e colocar em um projeto separado para que todos os projetos possam compartilhar. Isso é uma boa prática?
Que convenções de nomenclatura devo chamar esse projeto, DTO? Poco? Entidades? ou similar
Eu realmente adoraria ouvir algum feed de como conseguir isso e clima, eu sou as linhas certas
Solução
Não tenho 100% de certeza se isso também funciona para o LINQ2SQL (imagino que faça), mas é isso que faço com o LINQ2entities:
Depois que as aulas foram geradas, movo manualmente -as para um projeto diferente. Normalmente, eu chamo este projeto XXXXXX.Model. As entidades provavelmente também ficariam bem, mas eu ficaria longe do DTO e do POCO porque essas aulas também não. Acredito que existe uma maneira de fazer o POCO com o LINQ2SQL, mas não se você usar o designer. Em seguida, adiciono referências conforme necessário às outras camadas.
Espero que isto ajude.