我得到错误;
无法在Icollection中隐式转换类型销售
当我这样做时,我已经在一些示例中看到了它,并且可以这样做。
Sale sale= new Sale(){ Id = 1 };
Service service = new Service() { Name= "SomeService",Sales=sale}; //I can't assign sale
public class Service: EntityBase
{
//public Service()
//{
// Sales= new HashSet<Sale>();
//}
public string Name{ get; set; }
public virtual ICollection<Sale> Sales{ get; set; }
}
我该如何解决?我不想这样做:service.Sales.add(fact)
,如果有另一种方式
如果您非常反对使用.Add
并想将一个或多个Sale
实例传递到Service
实例,并将它们添加到Sales
集合中或更多的 Sale
实例。
public class Service: EntityBase
{
public Service() // empty constructor needed for EF
{}
public Service(params Sale[] sales)
{
Sales = new List<Sale>(sales);
}
public string Name{ get; set; }
public virtual ICollection<Sale> Sales{ get; set; }
}
// example with 2 sales
Sale sale1 = new Sale(){ Id = 1 };
Sale sale2 = new Sale(){ Id = 2 };
Service service = new Service(sale1,sale2) { Name= "SomeService" };
将空构造函数留在适当的位置,因为它由EF。
您在这里说的是sale = list();
列出销售列表,向其添加销售,然后在构造商中说销售=您制作的销售清单。
Sale sale = new Sale(){ Id = 1 };
List<Sale> sales = new List<Sale>();
sales.Add(sale);
Service service = new Service() { Name = "Service", Sales = sales };