仅具有存储过程的实体框架

2024-05-18

我对在我们的场景中仅使用实体框架与存储过程的合理性有疑问。

我们计划拥有一个 N 层架构,包括 UI、BusinessLayer (BLL)、DataAccessLayer(DAL) 和 BusinessObjectDefinitions(BOD) 层。 BOD 层为所有其他层所知,并且在 DAL 中执行查询的结果应在传递到 BLL 之前转换为对象(在 BOD 中定义)。

我们只会对所有 CRUD 方法使用存储过程。 因此,在选择存储过程的情况下,我们将添加一个函数导入,创建一个复杂类型,当我们执行该函数时,我们将复杂类型的值转换为 BOD 类并将其传递给 BLL。 因此基本上,模型中没有实体,只有复杂类型,它们会转换为业务对象。

我不确定这是否有意义,因为在我看来,我们失去了 EF 提供的很多好处。

或者我完全错了?


如果我只使用存储过程,我就不会使用 EF。

就我个人而言,我会考虑 PetaPoco、Massive 甚至直接 Ado.Net

EDIT

这是 PetaPoco 消耗 SP 并输出自定义类型的示例

http://weblogs.asp.net/jalpeshpvadgama/archive/2011/06/20/petapoco-with-stored-procedures.aspx http://weblogs.asp.net/jalpeshpvadgama/archive/2011/06/20/petapoco-with-stored-procedures.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅具有存储过程的实体框架 的相关文章

  • 如何将可变数量的参数传递给 SQL Server 存储过程?

    我将 SQL Server 2005 用于我的小型 Web 应用程序 我想将参数传递给 SP 但有一个条件 可以不时更改的参数数量 想一想 这次我传递姓名和地址 下次我传递姓名 地址 该参数范围可以是 1 30 您使用默认参数声明该过程 并
  • 实体框架不将Where子句作为WHERE子句发送到SQL Server

    我有一个包含站点的简单数据库 每个站点都有一堆帖子 我正在尝试获取某个站点的所有 公共 帖子 我有一个名为 site 的变量 它已经是 EF 带来的实例 第一个显而易见的事情是 var posts from post in site Pos
  • Entity Framework Core 中是否有数据库初始化程序?

    我找不到有关如何将 EF 数据库初始值设定项与 EF Core 一起使用的示例 也找不到随 EF Core 提供的 EF 数据库初始值设定项列表 数据库初始化器的概念已经过时了吗 当前初始化数据库的方法是什么 或者not初始化现有数据库 在
  • 在多线程程序中使用 EF 有什么好的建议吗?

    您对于在多线程程序中使用 EF 有什么好的建议吗 我有两层 用于读 写数据库的 EF 层 一个多线程服务 它使用我的实体 读 写 并进行一些计算 我在框架中使用任务并行库 如何同步每个线程中的对象上下文 您知道让它发挥作用的好模式吗 好的建
  • EF 6:映射复杂类型集合?

    EF 6 代码优先 是否支持复杂类型集合 值对象集合 映射 我知道它支持复杂类型 但还没有找到我们拥有复杂类型集合的示例 例如 假设您有一个名为 Student 的实体 其中包含联系人集合 对于 NH 我可以简单地说 Student 有一个
  • “等待操作超时”...但仅来自 .NET 客户端?

    我有一个查询 当从我的应用程序执行时会抛出 SqlException 0x80131904 超时已过期 操作完成之前超时时间已过 或者服务器没有响应 在 Visual Studio 中单步执行代码时 我遇到了同样的错误 但是 当使用相同的凭
  • AssociationSet 中的关系处于“已删除”状态

    我正在尝试在我的网站中创建新帖子 但由于某种原因 EF 抛出以下错误 来自 PostAttributeValue Definition 关联集的关系 处于 已删除 状态 给定多重约束 相应的 PostAttributeValue Defin
  • EF 中的 GUID COMB 策略

    有没有办法使用 CodeFirst 设计为新的 Entity Framework 4 1 中的对象实现 Guid COMB 身份策略 我想设置StoreGeneratedPattern可以 但它仍然给我正常的 GUID 为什么要担心数据库中
  • WPF TreeView 绑定[重复]

    这个问题在这里已经有答案了 我有一个带有父级和子级属性的课程 ADO NET 实体框架分层页面类 http img148 imageshack us img148 6802 edmxxe8 gif http img148 imageshac
  • SQL Server 2005存储过程性能问题

    我遇到以下问题 当从我的应用程序调用存储过程时 时不时地 例如 1000 次调用中的 1 次 需要 10 30 秒才能完成 通常 存储过程的运行时间不到一秒 这是一个相当简单的过程 只需一个选择即可将几个表连接在一起 所有表名都设置有 NO
  • java 没有捕获 ms sql 存储过程引发错误

    我的 SQL Server 2008 数据库中有一个存储过程 并且正在开发一个使用 sqljdbc4 连接的 java 应用程序 一切都工作正常 甚至是过程调用 但有一件事 在某些情况下 java 不会捕获过程抛出的引发的异常 并在存在像
  • 如何将 mvc-mini-profiler 与 Entity Framework 4.1 一起使用

    我尝试将 mvc mini profiler 与 MVC3 一起使用 但不断收到以下错误 无法确定 MvcMiniProfiler Data ProfiledDbConnection 类型连接的提供程序名称 下面是我用来尝试实例化上下文的代
  • 插入后用触发器更新多行(sql server)

    我有一个表 orderDetails 包含订单的产品 产品编号 color size quantity 和一个表库存 产品编号 size color stock 订单完成后 我使用此查询将项目插入表中orderDetails INSERT
  • .NET 实体框架核心

    我已经阅读了过去两年中发布的几乎所有有关 EF 的其他问题 我下载其他软件包没有任何问题 只是实体框架不会为我安装 我什至尝试安装最新版本的 Nuget 并在我的项目目录中使用它的工具来恢复包 之后 我将这一行添加到我的 csproj 中
  • 包括过滤器子集合[重复]

    这个问题在这里已经有答案了 我在为 LINQ 查询中包含的项目添加一些过滤条件时遇到一些困难 我的查询就像 var item Context Order Include Inner Include Inner first Include I
  • asp.net mvc 4 - 可以在每个线程共享 DbContext 吗?

    From 每个 Web 请求一个 DbContext 为什么 https stackoverflow com questions 10585478 one dbcontext per web request why 我的理解是 DbCont
  • WinForms 中的 EF:如何过滤 BindingSource/DGW 中的数据 (.Local.ToBindingList())

    我按照本教程生成了 EF 模型 首先是数据库 和数据源http msdn microsoft com en us data jj682076 aspx http msdn microsoft com en us data jj682076
  • 使用实体框架重叠约会

    我将 asp net mvc 与实体框架一起使用 我有一个包含 startat 字段 endat 字段和 roomid 字段 称为 SpaceConfigurationId 的约会列表 并且希望查找给定房间已重复预订的约会列表 可以假设 e
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • Mysql 创建定义器

    我创建了一个在 CentOS Web 服务器上运行的 Intranet Web 应用程序 该应用程序使用另一个本地服务器 始终是 CentOS 作为 MySQL 数据库 在数据库内部我创建了例程 这些例程总是这样开始 CREATE DEFI

随机推荐