我可以看到之前已经问过类似的问题,但对DI和.Net来说是全新的我无法掌握整个解决方案或者可能找不到合适的来源....
WebAPI具有应用程序启动部分,因此我可以使用它来初始化Ninject内核并为WebAPI项目注册依赖项.
如何为BL和其他组件实现相同的目标?
我在数据访问层有一些功能
public Order RetrieveById(int id)
public List<Order> RetrieveByStatus(OrderStatus status)
Run Code Online (Sandbox Code Playgroud)
现在我对异常引发有点困惑。
对于 RetrieveById 函数,小于 1 的 id 是无效 id,因此我想引发异常。我想为数据库中不存在的 Id 返回 null。然后感觉我太复杂了。
对于 RetrieveByStatus,当数据库中没有该状态的数据时,我想返回一个空列表。
但是我看到有些人在 RetrieveById 无法返回任何内容时引发异常,但 RetrieveByStatus 在没有记录时不应引发异常,或者应该吗?
有人可以帮我澄清这些概念吗?
我编写了一个简单的父子方案,无法使用Automapper进行映射.在下面的场景中,我希望OrderItems列表映射到dtoOrderItems列表,但它不会自动发生.我是否需要使用for循环或其他手动编写它?
public class Order
{
public int OrderNumber {get; set;}
public List<OrderItem> OrderItems { get; set; }
public Order()
{
OrderItems = new List<OrderItem>();
OrderItems.Add(new OrderItem() {Quantity= 10});
}
}
public class OrderItem
{
public int Quantity {get; set;}
}
public class DTOOrder
{
public int DTOOrderNumber { get; set; }
public List<DTOOrderItem> DTOOrderItems { get; set; }
public DTOOrder()
{
DTOOrderItems = new List<DTOOrderItem>();
}
}
public class DTOOrderItem
{
public int DTOQuantity { get; set; }
}
public …
Run Code Online (Sandbox Code Playgroud)