使用ORM和LINQ架构不健全吗?

时间:2012-08-20 10:45:27

标签: linq tsql architecture orm telerik

我目前正在使用可疑的Telerik Open Access,但是说一般来说LINQ和ORM的使用不存在架构问题吗?

我发现我们正在做的是将数据操作的负担从DBMS中移除,DBMS优化用于执行该任务,在我的情况下是一个不是的Web服务器。

此外,至少在Telerik案例中,我们限制了编码模型的灵活性。在这个项目中,我必须提取并创建不直接映射到CRUD接口的复杂数据结构。 至少在Telerik Open Access中,如果我使用存储过程来创建数据并且它没有映射到已知实体,我必须将数据作为对象数组返回。

因此我使用ORM创建的“实体”并使用LINQ操作它们。 与相对简单的等效SQL语句相比,生成的代码非常复杂。

我对你对使用ORM和LINQ的倡导以及这在结构上是否不合理的观点感兴趣。

对我来说当然感觉到了。

我没有包含代码示例,因为实际代码是无关紧要的。这就是说,知道10行T-SQL查询(其中6行是连接)已变成300行(包括空格)的LINQ语句来做同样的事情可能是有益的。

2 个答案:

答案 0 :(得分:3)

如果您使用Linq2SQL或Linq2Entities,它们实际上将生成SQL代码,并且“数据操作负担”仍将存在于DBMS上。您编写的Linq代码与SQL代码非常相似。

答案 1 :(得分:1)

除了ORM之外,使用Linq在架构上并不合理。

您总是在数据库端进行一些数据操作,在客户端进行一些操作。作为开发人员,您可以找到合适的平衡点。显然,如果你的ORM要求你做一些令人费解的事情,比如在客户端操纵混乱的无类型数据并用Linq对它进行大量查询,就会出现问题。您的ORM或系统的设计方式。