我在我的个人资料页面使用以下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
我有两个表父表和子表.子表具有列排序顺序(数值).由于缺少EF的支持来持久化IList包含排序顺序而不暴露排序顺序(请参阅:实体框架持久化子集合排序顺序)我的子类还有一个属性SortOrder,因此我可以存储具有排序的子项订购.
与引用问题的autor相反,我尝试加载始终排序的子项.因此,如果我加载一个我期望的父实例,那么子集合按排序顺序排序.如何使用Code First Fluent API和POCO实现此行为?
提示:在子集合上调用.Sort(...)不是一个选项.
我有以下查询:
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中似乎没有一种简洁的方式来订购子集合.有人可以帮忙吗?
我有一个对象图,我正在使用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) 我有这个实体:
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
C#中Collection和List有什么区别?我的意思是我应该使用哪一个作为导航属性:
public Collection<OrderDetail> OrderDetails { get; set; }
Run Code Online (Sandbox Code Playgroud)
或者
public List<OrderDetail> OrderDetails { get; set; }
Run Code Online (Sandbox Code Playgroud) 如何从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) 我在网格上进行分层数据绑定,我需要让数据库服务器对我的对象执行排序.我可以轻松地对父集合进行排序,但我似乎无法弄清楚如何对所有子集合进行排序.我有一个模型,其中嵌套了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) linq ×3
c# ×2
asp.net ×1
asp.net-mvc ×1
automapper ×1
code-first ×1
iqueryable ×1
performance ×1
poco ×1
sorting ×1
sql-order-by ×1