相关疑难解决方法(0)

如何在Entity Framework 5中包含子对象的子对象

我正在使用Entity Framework 5 code firstASP.NET MVC 3.

我正在努力让一个子对象的子对象填充.以下是我的课程..

申请类;

public class Application
{
     // Partial list of properties

     public virtual ICollection<Child> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

儿童班:

public class Child
{
     // Partial list of properties

     public int ChildRelationshipTypeId { get; set; }

     public virtual ChildRelationshipType ChildRelationshipType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

ChildRelationshipType类:

public class ChildRelationshipType
{
     public int Id { get; set; }

     public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

存储库中GetAll方法的一部分,用于返回所有应用程序:

return DatabaseContext.Applications …
Run Code Online (Sandbox Code Playgroud)

entity-framework entity-framework-4 entity-framework-4.1 entity-framework-5

121
推荐指数
3
解决办法
9万
查看次数

EntityFramework:包含导航属性与包含选择之间的差异?

这更多的是一个语法问题,而不是一个实际的错误或错误,因为我终于得到了我想要的工作。但我想了解并改进我当前的解决方案。

模式

假设我有一个Users表,与 table 具有一对多关系Posts,还有一个进一步的一对一关系表Authors- 每个表一个Post

我想编写一个自定义存储库函数来获取 all Users、 with all Posts、 with every Authorper Post

尝试#1(不起作用)

我想我可以做这样的事情:

public IQueryable<User> GetUsersWithPostsAndAuthors()
{
    var query = GetAll();

    // include all details on user object
    return query
        .Include(user => user.Posts.Select(x => x.Author));
}
Run Code Online (Sandbox Code Playgroud)

它似乎不包括该Author实体。实际上,我收到以下错误:

Lambda expression used inside Include is not valid.
Run Code Online (Sandbox Code Playgroud)

尝试#2(也不起作用)

然后我想也许这些Posts需要首先出现在查询中,所以我尝试了以下方法:

Lambda expression used inside Include is not valid.
Run Code Online (Sandbox Code Playgroud)

不幸的是,我遇到了同样的错误:

Lambda expression used …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core

0
推荐指数
1
解决办法
929
查看次数