从EF Code-First POCO访问其他实体

时间:2012-05-08 00:50:55

标签: .net entity-framework-4 ef-code-first poco

我有一个使用Entity Framework Code First POCO对象创建的数据模型。

在我的一个课程中,我想添加一个方法'GetUsefulInfo'。

为了实现这个方法,我需要对数据模型中的其他实体运行查询。

问题是,如何从此方法中获取数据上下文?我是否需要将其作为参数传递给方法?感觉应该有一种方法来实现这一点,而不必要求这个类的消费者这样做吗?

谢谢, - 克里斯

1 个答案:

答案 0 :(得分:1)

这看起来非常适合UserRepository

通常,存储库使用某种依赖注入或仅对DataContext的私有引用来保存对上下文的引用。

在那里,您可以查询任何存储库以收集所需信息。

示例代码:

public class UserRepository : IUserRepository
{
    private readonly EntityFrameworkDataContext database =
                                                     new  EntityFrameworkDataContext();

    public User GetUserFullInfo()
    {
        try
        {
            // Your DataContext queries to return the User and all his info...
        }
        catch
        {
            // Whaterver...
        }
    }

}