gpt4 book ai didi

entity-framework-4 - 相关记录加载到HashSet还是SortedSet?

转载 作者:行者123 更新时间:2023-12-04 07:58:23 25 4
gpt4 key购买 nike

假设我们有 Entity Framework 4 的 POCO 类:

public class Order
{
public long Id { get; set; }
public ISet<OrderItem> OrderItems { get; set; }
}

此方法从数据库中检索订单:

public Order GetOrder(long orderId)
{
using (var context = new MyModelEntities())
{
return context.Orders.Include("OrderItems").Where(order => order.Id == orderId).FirstOrDefault();
}
}

假设我们这样做:

Order myOrder = GetOrder(1);

myOrder.OrderItems 是 HashSet 还是 SortedSet?有办法控制吗?

最佳答案

好问题。

据我所知(据我所知,没有任何 MSDN/博客/文章可以消除/证明这一点),导航属性可以是任何类型,只要它实现了 ICollection<T>。 .

两者都是 HashSet<T>SortedSet<T>实现 ICollection<T> , 所以两者都是可行的候选人。

你单步执行代码了吗?您应该能够看到哪个具体类得到了解析。

大多数人使用 ICollection<T>/IList<T> .为什么要将属性声明为 ISet<T>

你为什么不直接声明你想要的类型,而不是接口(interface)。

或者您可以尝试使用依赖注入(inject) ( For<ISet>().Use<HashSet>() )。

关于entity-framework-4 - 相关记录加载到HashSet还是SortedSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4710434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com