我目前正在使用一个使用.Net 的强类型数据集继承了 DAL 的系统。在此之前我从未与他们合作过,但我发现我对使用它们有强烈的反感。与基于 POCO 的 DAL 相比,它们似乎笨重、难以管理,并且生成的对象与特定于数据库的问题高度耦合(例如,从表和行访问对象、通过键值获取所需数据等) DAL 的全部目的不是将其从逻辑层中抽象出来吗?)。
已经有一些关于重写和/或重构数据库层部分的讨论。我个人希望看到这些数据集被删除,但我很难说服一些习惯使用它们的同事。
使用强类型数据集与基于 POCO 的 DAL 有哪些优缺点?我是否有理由厌恶强类型数据集,或者社区一致认为它们不是问题?我还缺少其他解决方案吗?
虽然我也同意使用像 NHibernate 这样的 ORM 框架有很多好处,但我认为这种复杂性的库对我的同事来说很难卖。如果有人可以为这个方向提供足够令人信服的论据,我想听听。