将POCO或EF对象传递给Web项目



说我有一个带有两个项目的Visual Studio解决方案:一个Web项目和一个数据项目。

是否将EF对象从数据项目传递给Web项目真的很重要,还是需要明确定义数据项目中的POCOS才能传递到Web项目?

在我看来,需要创建POCO而不是简单地使用EF对象会增加需要完成的另一件事...而我没有特别看到目的。

如果您使用实体框架4,则EF对象是POCO对象,因此在模型与EF对象匹配的任何情况下都应使用(CRUD操作是典型的)。但是,标准POCO对象不会封装一个视图模型所需的所有字段(我与之相关的典型字段是您有两个密码字段的帐户页),因此您将需要要为页面创建一个模型,然后将数据传递到您的EF POCO对象中。

因此,如果您使用的是dbcontext(为您创建POCO对象),没有理由不使用这些对象。

直接将EF对象传递到Web项目不是一个好习惯。随着状态发生的变化在EF对象中的变化可以直接反映数据库。因此,您应该明确定义Web项目的POC对象。(我们可以称其为Data Model或简单地称为Model。用于从View检索数据的POC对象可以称为View Model。在适当的情况下,您可以使用同一POCO类作为Data Model以及View Model

最新更新