【问题标题】:Using Entity Framework with existing business layer and database将实体框架与现有业务层和数据库一起使用
【发布时间】:2011-06-20 01:34:05
【问题描述】:
我有一个带有现有业务类和数据库模式的 ASP.NET 应用程序。 (我想保留)
目前我正在为 DAL 使用 ADO.NET,但我想切换到那里的一些高级技术以便于数据检索。
我研究了实体框架,但我仍然对此感到困惑。
EF 是否适用于我的情况?我可以在不拆分业务类和自动代码生成的情况下使用它吗?
LINQ to SQL 能更好地解决我的问题吗?
我要做的只是将现有的类映射到现有的表中,而不必自己处理数据检索的细节。
【问题讨论】:
标签:
c#
asp.net
linq-to-sql
entity-framework
orm
【解决方案1】:
我已经相对轻松地完成了您的建议(将现有的 ADO.NET 应用程序转换为 LINQ to SQL)。我发现 LINQ to SQL 拥有我需要的一切,所以为了简单起见,我选择了它而不是 EF。
LINQ to SQL 生成的类是partial(对于 EF 也是如此),因此您可以使现有类成为部分类,删除数据库列属性(因为它们现在将在生成的部分文件中),这就是它。
您需要决定您的 DAL 使用哪种模式,是 repository pattern、自定义模式还是您现有的系统有您想要坚持使用的模式。
无论如何,我已经成功地将 legacy/homegrown/ADO.NET 系统转换为 LINQ to SQL,并且会推荐它。