使用LINQ to SQL可以加快应用程序开发速度,但会消除应用程序中的逻辑层。数据访问层和业务对象层几乎没有标识,它们位于同一个dll中。有没有人知道如何使用LINQ to SQL开发企业级应用程序。我们如何干净地分离业务对象和LINQ生成的实体?他们将如何沟通,如何在我们的业务对象和LINQ实体之间传输数据。任何文章或任何建议都将非常感激。谢谢。
答案 0 :(得分:2)
我们将L2S用于管理工厂运营和相关应用的下一代软件。这是一家价值25亿美元的薄膜太阳能公司。我们已经构建了一个明确定义的基于L2S的n层应用程序框架。
我们还创建了自己的代码生成器,以生成实体的应用程序集,L2S实体集,业务逻辑层和数据访问层。 L2S实体集仅供后端使用。应用程序实体(内置没有L2S管道)用于在应用程序之间来回传输数据。我们将WCF用于应用程序层到服务器层通信。
我们的应用程序使用WCF调用后端业务逻辑层进行数据处理。业务逻辑层调用我们的数据访问层以进行基于Linq的低级数据访问。我们的应用程序实体与我们的后端进行传递。在后端,我们有非常有效的映射,将应用程序实体映射到每个L2S实体。
非常适合我们。
兰迪
答案 1 :(得分:0)
你可以使用L2S(如StackOverflow已经证明的那样),但是对于“企业级应用程序”,IMHO Linq2SQL并不适合(我认为也不打算)。
现在已经发布了Entity Framework 4.0,您可能需要考虑使用EF。它支持POCO,并允许您拥有更好的分层架构。
退房:
ADO.NET C# POCO Entity Generator
我最近从L2S移植了大量代码库到EF 4.0。由于EF现在支持延迟加载,因此您可以从L2S到EF进行非常平滑的过渡,只有在需要时才能利用EF的高级功能。