相关疑难解决方法(0)

我可以在EntityFramework中的ObjectSet上使用多少Include以保持性能?

我在我的个人资料页面使用以下LINQ查询:

var userData = from u in db.Users
                        .Include("UserSkills.Skill")
                        .Include("UserIdeas.IdeaThings")
                        .Include("UserInterests.Interest")
                        .Include("UserMessengers.Messenger")
                        .Include("UserFriends.User.UserSkills.Skill")
                        .Include("UserFriends1.User1.UserSkills.Skill")
                        .Include("UserFriends.User.UserIdeas")
                        .Include("UserFriends1.User1.UserIdeas")
                               where u.UserId == userId
                               select u;
Run Code Online (Sandbox Code Playgroud)

它有一个长对象图并使用许多包含.它现在运行得很好,但是当网站有很多用户时,它会影响性能吗?

我应该用其他方式吗?

linq performance linq-to-entities entity-framework asp.net-mvc-2

47
推荐指数
3
解决办法
1万
查看次数

实体框架使用排序顺序加载子集合

我有两个表父表和子表.子表具有列排序顺序(数值).由于缺少EF的支持来持久化IList包含排序顺序而不暴露排序顺序(请参阅:实体框架持久化子集合排序顺序)我的子类还有一个属性SortOrder,因此我可以存储具有排序的子项订购.

与引用问题的autor相反,我尝试加载始终排序的子项.因此,如果我加载一个我期望的父实例,那么子集合按排序顺序排序.如何使用Code First Fluent API和POCO实现此行为?

提示:在子集合上调用.Sort(...)不是一个选项.

entity-framework poco code-first ef-code-first

31
推荐指数
2
解决办法
3万
查看次数

如何在EF中订购实体的子集合

我有以下查询:

public IEnumerable<Team> GetAllTeamsWithMembers(int ownerUserId)
        {
            return _ctx.Teams
                 .Include(x => x.TeamMembers)
                 .Where(x => x.UserId == ownerUserId)
                 .OrderBy(x => x.Name).ToList();

        }
Run Code Online (Sandbox Code Playgroud)

我如何按照他们的名字订购团队,然后按照他们的名字对每个团队的所有子成员进行排序?

似乎这样做我需要创建一个新的DTO类并使用select.我想使用已经创建的EF实体,在这种情况下,Team具有成员的导航属性.我IEnumerable<Team>从我的存储库层返回.

在EF中似乎没有一种简洁的方式来订购子集合.有人可以帮忙吗?

linq entity-framework

28
推荐指数
1
解决办法
2万
查看次数

AutoMapper Project().To()和排序子集合

我有一个对象图,我正在使用EF CodeFirst和AutoMapper从数据库加载到DTO中: -

public class Foo
{
  public int Id { get; set; }
  public virtual ICollection<Bar> Bars { get; set; }
}

public class Bar
{
  public int Id { get; set; }
  public int FooId { get; set; }
  public virtual Foo Foo { get; set; }

  public string Name { get; set; }
  public int SortOrder { get; set; }
}

public class FooDto
{
  public IEnumerable<BarDto> Bars { get; set; }
}

public class BarDto
{ …
Run Code Online (Sandbox Code Playgroud)

c# iqueryable automapper

15
推荐指数
1
解决办法
9966
查看次数

EF代码优先:如何加载相关数据(父子孙子)?

我有这个实体:

public class DynamicPage {

    public int PageId { get; set; }

    public int Order { get; set; }

    public string MenuText { get; set; }

    public string MenuHover { get; set; }

    public int? ParentId { get; set; }

    public virtual DynamicPage Parent { get; set; }

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

该实体可能有3个级别:父级 - >子级 - >孙级.如何加载所有关联子级(级别2)的父级(级别1)以及每个子级,关联孙级(级别3)(如果有)?感谢帮助.

entity-framework ef-code-first entity-framework-4.1 entity-framework-5 entity-framework-6

7
推荐指数
1
解决办法
1万
查看次数

我必须将集合与列表用于导航属性

C#CollectionList有什么区别?我的意思是我应该使用哪一个作为导航属性:

public Collection<OrderDetail> OrderDetails { get; set; }
Run Code Online (Sandbox Code Playgroud)

或者

public List<OrderDetail> OrderDetails { get; set; }
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core

6
推荐指数
1
解决办法
2869
查看次数

为MVC视图订购实体框架项和子项

如何从DbSet中对查询进行排序,并包括应该排序的子项.

例:

我有一个调度订单的模型.

public class Order
{
  public virtual int Id { get; set; }
  public virtual int? SchedulingOrder { get; set; }
  public virtual int? WeekId { get; set; }
  public virtual Week Week { get; set; }
}
public class Week
{
  public virtual int Id { get; set; }
  public virtual DateTime StartDate { get; set; }
  public virtual ICollection<Order> Orders { get; set; }
}
...
public DbSet<Week> Weeks { get; set; }
public DbSet<Order> Orders …
Run Code Online (Sandbox Code Playgroud)

linq asp.net asp.net-mvc entity-framework sql-order-by

5
推荐指数
1
解决办法
7606
查看次数

EF4 LINQ使用Eager Loading(.Include())对父级和所有子集合进行排序

我在网格上进行分层数据绑定,我需要让数据库服务器对我的对象执行排序.我可以轻松地对父集合进行排序,但我似乎无法弄清楚如何对所有子集合进行排序.我有一个模型,其中嵌套了3个子集合,并且所有这些集合都需要进行排序.

这是我想要完成的示例模型:

    public class Year
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<Make> Makes { get; set; }
}
public class Make
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<Model> Models { get; set; }
}
public class Model
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<Color> Colors { get; set; }
} …
Run Code Online (Sandbox Code Playgroud)

sorting linq-to-entities entity-framework eager-loading

4
推荐指数
1
解决办法
3561
查看次数