我是实体框架的新手,我想了解一些关于 EF、LINQ、POCO 和存储库的观点。
我们有一个使用 EF 和 POCO 访问数据库的存储库的工作解决方案。我们通过上下文在 LINQ 中进行所有查询。我们将映射添加到在应用程序启动时加载的映射类中,因为数据库/表已经存在。
如果我有一个商业案例,我需要为特定公司计算员工为孩子购买的玩具数量。
我将如何建立存储库/存储库?
A:用一个存储库调用公司的所有员工,然后在服务层再次为每个员工的孩子调用另一个存储库,等等?
B:调用一个存储库,它会将所有员工、孩子和玩具归还给我公司?
A 在我看来更干净,我可以更频繁地重用存储库。但是 B 接缝更有效,但不能重复使用。更少的存储库和查询将变得越来越大。
这只是一个小例子……但我们有更大的业务案例。在这种情况下,最好的架构方法是什么?
class Company
{
List<Employee> employees;
}
class Employee
{
List<Child> children;
}
class Child
{
List<Toy> toys;
}