当我开始使用 ASP.NET 编写 Web 应用程序时,我开始使用使用 Linq-To-SQL 映射器来访问 MSSQL Server 的数据库的小项目。
在获得了一些经验之后,我切换到了经典的三层方法,即图形层、业务层和数据层。数据层的唯一功能是提供插入/更新/删除方法,没有任何逻辑和逻辑选择方法的形式。
随着时间的推移,我意识到最好不要将数据库类提供给 GUI(不幸的是花了一些时间)。我切换到在 BL 中使用业务类,这些业务类用于 BL 执行的所有操作,并由 GUI 以从业务层获取列表的形式显示。
一个很大的优势是我可以提供数据库本身没有表示的其他属性。但是,我自己使用将相应业务层类映射到数据库类的方法在业务层内部进行了映射。
我想这就是 O/R 映射器派上用场的地方?直到现在,我还没有意识到他们的目的,但我想我刚刚找到了。我最近尝试将新的实体框架与 .NET Framework 4 一起使用,但我只是像 Linq-To-SQL DataContext 一样使用它。
有没有办法自动实现映射?如果是,那是新实体框架提供的东西,还是我需要寻找像 NHibernate 这样的 O/R 映射器?