Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有EntityFramework的表数据网关_C#_Entity Framework_Design Patterns - Fatal编程技术网

C# 带有EntityFramework的表数据网关

C# 带有EntityFramework的表数据网关,c#,entity-framework,design-patterns,C#,Entity Framework,Design Patterns,我对模式表数据网关有疑问。。。我正在创建一个小项目,只是为了我的目的,我想实现表数据网关模式。可以使用EntityFramework为此模式创建数据操作方法,如插入、更新、删除?并使用数据上下文连接到数据库 谢谢大家! MSDN在以下位置有一个关于此的教程:表数据网关模式的目的是使开发人员不必直接编写SQL,并且允许集中SQL代码,以便DBA可以轻松地维护它 这样,实体框架对此至少有50%的有效性。使用实体框架,开发人员不必编写SQL代码,因此可以避免不知道如何编写SQL代码的开发人员的问题 至

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


谢谢大家!

MSDN在以下位置有一个关于此的教程:

表数据网关模式的目的是使开发人员不必直接编写SQL,并且允许集中SQL代码,以便DBA可以轻松地维护它

这样,实体框架对此至少有50%的有效性。使用实体框架,开发人员不必编写SQL代码,因此可以避免不知道如何编写SQL代码的开发人员的问题

至于集中SQL代码以便于DBA管理,您可以使用实体框架实现存储过程,通过实体框架可以提供insert、update和delete方法,我相信这将满足其余的需求


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

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

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

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

是的,谢谢!但是可以将这两件事结合起来(表数据网关和实体框架(我只想使用它来轻松连接到我的数据库)?…我必须使用这种模式…谢谢!好的,谢谢,所以这两件事有可能像我写的那样结合起来?:)EF-to-CRUD(没有sql)数据映射器是我想要使用的模式吗?我不确定你是否在阅读给出的答案。模式不是技术。模式与技术无关。我重申了该模式的目的,告诉您可以使用EF来解决该模式的两个主要目的,并给您提供了一篇文章的链接,该文章告诉您如何完成仅使用EF无法完成的部分。如果您与该模式的特定实现结了婚,那么这些细节可能会阻止您使用EF,但我不相信您已经暴露出任何让我认为EF将被排除在工具之外的担忧。