在解决方案中多个项目之间共享LINQ-to-SQL类/模型

3

我现在有多个C#项目在Visual Studio解决方案中,它们都将使用相同的SQL Server数据库。

在项目之间共享LINQ-to-SQL类的正确方式是什么?

我考虑只将dmbl文件复制到每个项目中,但我认为这可能太冗余了。有更好的方法来处理这个问题吗?

5个回答

4
我想你需要在项目之间共享数据库访问代码,而不是像它们一样共享linq-2-sql类。
建立数据访问库(DAL),通过linq-2-sql类实现操作,而不是公开类。
我建议使用仓储模式
从想要的项目中引用DAL库。

2
你可以将其构建为类库并包含它。毕竟,它只是一个类。

2
如果它们在同一个解决方案中,您可以在需要访问Linq类的项目中添加对Linq项目的引用。或者我是否误解了您的问题?您可以通过右键单击需要访问Linq类的项目的“引用”文件夹,选择“项目”选项卡,然后选择Linq项目来完成此操作。
如果您想要严格的数据访问,请遵循Andrew Florko的建议并构建一个数据访问层以获取所需的数据。

0
你需要做的是创建一个包含DBML类的类库,然后将其作为引用添加到其他项目中。确保该类库中除了与数据库相关的代码外没有其他内容,这样可以轻松地将其添加到未来的项目中。
然后按照Andrew Florko的建议阅读有关数据访问模式的资料。Repository很好,但我喜欢DAO

0

我建议将不仅模型类,而且整个数据访问层(DAL)分离到一个单独的程序集中,并从应用程序的其他部分引用它。

DAL 将封装与数据库交互的详细信息(在本例中是使用 LINQ to SQL),并将其隐藏在有意义的应用程序接口后面。

此外,由于从 LINQ to SQL DBML 文件生成的类只是普通的 CLR 对象(POCO),因此我认为直接将它们公开作为 DAL 接口的一部分也没有问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接