使用LINQ to SQL可以加快应用程序的开发速度,但会分解应用程序中的逻辑层。数据访问层和业务对象层几乎没有相同之处,它们位于同一个dll中。有人知道如何使用LINQ to SQL开发企业级应用程序吗?我们如何清晰地分离业务对象和LINQ生成的实体?它们如何通信,数据如何在我们的业务对象和LINQ实体之间传输。任何关于这方面的文章或建议都将不胜感激。谢谢。
发布于 2010-03-08 02:49:19
我们正在将L2S用于管理我们工厂运营和相关应用程序的下一代软件。这是一家价值25亿美元的薄膜太阳能公司。我们已经构建了一个明确定义的基于L2S的n层应用程序框架。
我们还创建了自己的代码生成器来生成实体的应用程序集、L2S实体集、业务逻辑层和数据访问层。L2S实体集仅供后端使用。应用程序实体(没有内置L2S管道)用于在应用程序和服务器之间来回传输数据。我们使用WCF进行应用层到服务器层的通信。
我们的应用程序使用WCF调用后端业务逻辑层进行数据处理。业务逻辑层调用我们的数据访问层,以进行基于Linq的低级数据访问。我们的应用程序实体被传入和传出我们的后端。在后端,我们有非常有效的映射,将一个应用程序实体映射到每个L2S实体。
对我们来说效果很好。
兰迪
发布于 2010-08-27 14:09:35
你可以使用L2S (正如StackOverflow已经证明的那样),但Linq2SQL并不是很适合(我认为也不是为了)“企业级应用程序”。
既然Entity Framework4.0已经发布,你可能会考虑改用EF。它支持POCO,并将允许您拥有一个更好的分层架构。
查看:
The ADO.NET Entity Framework
ADO.NET C# POCO Entity Generator
我最近将大量的代码库从L2S移植到EF4.0。由于EF现在支持延迟加载,因此您可以非常顺利地从L2S过渡到EF,只在需要时才利用EF的高级功能。
https://stackoverflow.com/questions/2397308
复制相似问题