2016-05-23 77 views
1

我们对Entity Framework和存储库模式相当陌生,但试图将其实现到我们的系统中。存储库模式,使用存储过程的EF

我们有一个领域模型(逻辑模型),我们的系统将与之合作,这很好。问题是我们很难理解我们如何将返回的数据从存储过程映射到此域模型。

存储过程中返回的数据没有映射到实体模型。

我能想到这样做的唯一方法是纯粹只是执行数据读取器,通过DataReader的循环,并直接分配每个项目,这似乎...月...日

从谷歌搜索“DataMapping”似乎出现,但是,看不到任何如何实现这个从存储过程到域模型的实例,只有存储过程实体模型。

+5

如果你只是简单地调用存储过程,你为什么要使用实体框架?这是一个很小的收益TON。如果你只打算调用存储过程,你应该切换到类似Dapper的东西,它会为你做对象映射,而不需要开销。你现在正在做的事情是增加了很多很少或没有价值的东西。 –

回答

0

让我问一个问题。

如果您决定使用普通的ADO.NET来完成映射,您现在是否已经完成了这项工作?团队中的每个人都能100%理解代码做了什么?

有时候我们似乎试图应用新技术而没有真正理解为什么以及它给我们带来的好处。您使用Entity Framework看到了哪些优势?你在你的应用程序的版本1第5版中看到什么样的时间节省?如果ORM失败会发生什么?你们团队中的每个人都知道为什么会失败?

如果您只是使用存储过程,最好保持简单(ADO.NET)或使用更轻量级的映射器(如DapperMassive)。

+0

回答前两个问题,是的,是的,所以最初,我们可能会坚持循环。但是,id喜欢了解如何实现这种类型的映射。我看到proc与ef一起工作,但是,返回的数据直接映射到实体,然后实体映射到业务层内的域模型。 – Simon