使用LINQ开发企业级应用程序

时间:2010-03-07 18:12:23

标签: linq-to-sql architecture linq-to-entities

使用LINQ to SQL可以加快应用程序开发速度,但会消除应用程序中的逻辑层。数据访问层和业务对象层几乎没有标识,它们位于同一个dll中。有没有人知道如何使用LINQ to SQL开发企业级应用程序。我们如何干净地分离业务对象和LINQ生成的实体?他们将如何沟通,如何在我们的业务对象和LINQ实体之间传输数据。任何文章或任何建议都将非常感激。谢谢。

2 个答案:

答案 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,并允许您拥有更好的分层架构。

退房:

The ADO.NET Entity Framework

ADO.NET C# POCO Entity Generator

我最近从L2S移植了大量代码库到EF 4.0。由于EF现在支持延迟加载,因此您可以从L2S到EF进行非常平滑的过渡,只有在需要时才能利用EF的高级功能。