多选属性

本文关键字:属性 | 更新日期: 2023-09-27 17:55:19

我正在使用EF,Code First和C#开发MVC应用程序。 我想在我的数据库中创建一个存储其他对象列表的对象。即我有一个名为PayCodes的对象,它列出了所有支付代码,另一个对象列出了CombinedPayCodes。 组合支付代码将包括来自支付代码对象的 2 个或更多支付代码。

我可以轻松创建这种关系,可以选择一个支付代码,但不能选择很多支付代码。

有人可以就实现这一目标的最佳方法提供一些指导吗?

 public class PayCode
{
    public virtual int PayCodeId { get; set; }
    public virtual string Name { get; set; }
}
public class CombinedPayCode
{
    public virtual int CombinedPayCodeId { get; set; }
    public virtual int PayCodeId { get; set; }
    public virtual PayCode PayCode { get; set; }
    public virtual string Name { get; set; }
}

多选属性

您应该将属性 PayCode 更改为 ICollection,并添加一个属性 CombinedPayCode; 这将创建一对多的关系。

public class PayCode
{
  public virtual int PayCodeId { get; set; }
  public virtual string Name { get; set; }
  public virtual CombinedPayCode CombinedPayCode {get;set;}
}
public class CombinedPayCode
{
  public virtual int CombinedPayCodeId { get; set; }
  public virtual int PayCodeId { get; set; }
  public virtual ICollection<PayCode> PayCodes { get; set; }
  public virtual string Name { get; set; }
}