用于对存储过程进行分组的单独 EDMX
本文关键字:单独 EDMX 存储过程 用于 | 更新日期: 2023-09-27 18:36:49
我有一个复杂的数据库,想知道为存储过程创建单独的 edmx 是否是一个不错的方法?我的想法是使用数据库的应用程序拥有多个 edmx 文件。这样,每个应用程序将只能访问它所需的存储过程。
我想到了以下不分离EMD
的原因
- 如果过程映射到要写回数据库的实体,则会为自己创建更多工作。
- 拥有 2
EDM
s 意味着有 2 个Context
选择,以选择可能没有逻辑分离的内容。 - 拥有 2
EDM
s 似乎并没有以我能想到的任何方式看起来更干净。
我不明白为什么这会是一个问题。
虽然在某些情况下@Khan可能是正确的,但我相信如果你的项目足够大,那么你可以,如果它可以帮助你保持井井有条,将它们分开。
我已经在我的一些应用程序中这样做了,我想将关注点分开。
我的解决方案有一个管理项目和一个用户项目,我添加了第三个作为包含两个 EDMX 的 DLL。然后,我在两个项目上添加了对同一 dll 的引用。
我只是混合使用两个数据访问层似乎不合适。
对于管理员来说,像这样的东西:
private void SomeAdminFunction()
{
using (var db = new AdminEntities())
{
//Access all Admin Stored Procedures
}
}
对于用户:
private void SomeUserFunction()
{
using (var db = new UserEntities())
{
//Access all User Stored Procedures
}
}