2015-11-18 24 views
0

我想开始使用Dapper,因为我认为使用存储过程更容易,而不是使用实体框架映射每个存储过程以替换一般的CRUD操作。用于建模类的Dapper和实体框架

我想知道如何使用dapper创建POCO类,如果不可能,我可以使用实体框架从数据库创建模型,然后使用由dapper创建的类?

谢谢!

+0

这已经得到了回答:http://stackoverflow.com/questions/11056141/how-to-generate-model-from-database-using-dapper –

+0

谢谢你,我已经看到了,但我的问题是自上一个问题提出以来已经过了3年。我只想更新一些信息,谢谢! – randomguy04

回答

0

有许多项目,我在实体框架/ nHibernate中一起使用了精灵。

为Dapper创建的POCO类和代码第一个实体框架使用的域实体之间存在区别,您应该创建两者。

存储过程将与数据的形状视图一起工作,并且没有表示整个域的责任。

遵循单一责任实践,您使用的POCO类应该只包含存储过程用于连接的属性。

如果你不使用实体框架进行数据访问,并希望与精致小巧的完全替代它和存储过程,那么你没有意识到任何的ORM的好处,应该只是手工工艺架构和POCO类它使用。

您可以从模式生成POCOS,并且存在工具来完成此操作,因为创建自己的类的开销可以更好地适合应用程序层,我会建议不会有任何好处。

+0

感谢您的回答,我正在使用存储过程,因为即使对于CRUD操作,DBA也坚持使用它们。现在我明白了,我可以用Entity Framework创建数据库模型,然后创建我需要用于存储过程的其他模型,最后使用Dapper处理所有数据库应用程序事务,对吧? – randomguy04

+0

EF的要点是提供域和模式之间的自动同步数据访问。使用Dapper进行数据访问会使得EF几乎完全冗余 - 您希望通过手工制定的模式和存储过程实现哪些好处?你会让你的开发过程变得更加复杂而没有意识到任何好处。 数据库管理员是沉默的开始使用ORMS,因为他们的最佳实践要求使用SP。我自己也经历过这种磨擦。你需要说服你的DBA使用ORMS的用例,否则我建议你避免使用它们。 – CountZero