表数据具有EntityFramework的网关

时间:2012-11-26 19:49:19

标签: c# entity-framework design-patterns

我对模式表数据网关有疑问......我正在创建小项目,仅用于我的目的,我想实现表数据网关模式。可以使用EntityFramework为此模式创建数据操作方法,如插入,更新,删除吗?并使用数据上下文连接数据库?

谢谢!

3 个答案:

答案 0 :(得分:2)

Table Data Gateway模式的目的是让开发人员不必直接编写SQL,并允许集中SQL代码,以便DBA可以轻松地维护它。

通过这种方式,实体框架至少有50%的效率。使用Entity Framework,开发人员不必编写SQL代码,因此可以避免不知道如何编写SQL代码的开发人员的问题。

至于集中SQL代码以便于DBA管理,您可以使用Entity Framework实现存储过程,从而可以提供插入,更新和删除方法,我相信这些方法将满足其余的要求。

Here是Julie Lerman撰写的一篇文章,其中包含视频和文字内容,告诉您如何映射CRUD的存储过程。

答案 1 :(得分:0)

MSDN有一个关于此问题的教程:EF Designer CUD Specs

答案 2 :(得分:0)

在Fowler的POEE中的表数据网关示例中,您将看到他在代码中进行显式SQL调用并返回记录或数据集。例如:

public IDataReader FindWithLastName(String lastName) {
     String sql = "SELECT * FROM person WHERE lastname = ?";

由于实体框架摘要对您有用,我认为如果您引用EF实体,那么您并没有真正使用该模式。那就是说,你问是否可能这样做,当然答案是肯定的。这似乎更像是一个问题,即你希望在实现模式时有多“纯粹”。