我有一个复杂的数据库,想知道为存储过程创建一个单独的edmx是一条很好的选择吗?我的想法是根据使用数据库的应用程序拥有多个edmx文件。这样每个应用程序只能访问它所需的存储过程。
答案 0 :(得分:1)
我不明白为什么这会成为一个问题。
虽然@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
}
}
答案 1 :(得分:1)
以下原因不考虑将EMD
分开想到
EDM
s意味着对于可能没有逻辑分离的Context
有2个选项。EDM
s似乎没有任何我能想到的清洁。