首页 文章

设计建议:实体框架对存储过程有用吗?

提问于
浏览
2

我是.NET的新手,并且是数据库前端应用程序设计过程的早期,并且正在寻找一些建议 .

我不确定我明白了......

DB非常强规范化,但提供了大量存储过程来抽象逻辑模型(例如,选择sproc从多个表中返回一个数据集,紧密反映业务对象,将sprocs插入/更新到多个表等) .

我该如何设计DAL?我不确定实体框架在这种情况下的好处是什么 . 生成时,它反映了规范化的数据库模式,而不是它的抽象 . 或者如果我映射sprocs来生成它(这需要一些工作,因为sprocs中的T-SQL是动态的并且有连接),我得到了业务对象,但是看不到它的好处:实体代表一个单个'abstract'表,而不是一组具有Datarelations的实体,sprocs处理对多个表的调用 . 将生成的更改事件映射到sprocs似乎比直接调用sprocs更有效 .

我错过了什么?

谢谢,

迈克尔 .

2 回答

  • 0

    您可以使用EF执行此操作,但设计人员知道如何从存储的proc签名中派生实体类型 . 您需要手动编写EDMX . CTP 4代码优先可能更容易,但我从未尝试过 .

  • 0

    经过一番研究,我认为我已经开始走上正轨 . 以下文章非常有用:Entity Framework Modeling: Table Per Hierarchy Inheritance

    另请参见:实体框架建模:实体拆分

    要清楚,我想要的是抽象EF模型中的DB模式 . (我不希望任何实体代表'没有',就像多对多关系一样) .

    除了这些建模技术,我还使用了视图来生成EF模型,并为CRUD添加了sprocs .

    正如我所说,我是初学者 . 如果我走错了轨道,请告诉我......

相关问题