jun*_*ser 7 architecture linq-to-sql
我们目前的架构 - UI,BusinessLayer,DAL(生成linq-to-sql).在DAL层,我们为部分类中的实体添加了验证逻辑.我们直接使用businesslayer中的linq-to-sql生成的实体(这是一堆类 - 类\ form).另外,在这些bll类中,我们创建了linq-to-sql查询.
我觉得我们可以在MVP模式方面更好地分层应用程序,并提供使用linq-to-sql提供数据的服务类.您怎么看?我应该考虑存储库模式吗?这会是一种矫枉过正吗?
这是个好主意!
您的选择取决于您的应用程序,但存在很多问题:
1)对象数据库模型和对象模型应用程序之间的转换可能会困难得多。在这种情况下,不可能在应用程序的模型上实现过滤器,以便将生成的查询传输到 SQL 中。
2)往往,作为采样的结果需要连接(JOIN)多个表的结果,而不仅仅是一张表的数据
3) 并非所有 SQL 操作和函数在 LINQ 中都有对应的功能
实体框架怎么样?请不要碰实体框架。这是又重又慢的东西!:)
我更喜欢通过存储过程进行传统数据访问以及来自 MS Enterprise Library 的数据访问。我可以利用 SQL 的强大功能和我自己的业务实体的灵活性。当然还有——性能!奖牌的反面是更多的工作。我使用一些工具自动生成数据访问对象,然后根据需要修复它们。
运气!