我正在寻找一些关于如何调整实体类的 T4 代码生成的指导,EntityModel.tt
并且可能EntityModel.Context.tt
(我正在使用 POCO 类)强制对实体的任何查询使用存储过程(我已经有 EntitySQL.tt 生成我的所有存储过程)
例如,像
context.MyEntities().Single(c => c.id == 5)
不会生成 SQL,但会调用 SP `sp_GetMyEntities'
如果您有更好的策略来实现相同的结果,我将很高兴了解它。
更新
此时我只对 CRUD 的 READ 部分感兴趣。并且没有连接。只需按 ID 简单加载单个实体。理论上,SP可以设置为接受加载项的ID作为参数,以避免加载整个表(在这种情况下,.Single(c => c.id == 5)
部分将需要bn,并且ID将提供给MyEntities
对象。
这是一个“数据库优先”的实现