nop中导航属性的写法

以以下三张表为例。

image

SpecificationAttribute对应多个SpecificationAttributeOption。所以他们的关系是一对多。

在SpecificationAttribute。要先定义SpecificationAttributeOption的字段 。

如下所示。

private ICollection<SpecificationAttributeOption> _specificationAttributeOptions;

定义字段后。就可以定导航关系了。

       /// <summary>
        /// Gets or sets the specification attribute options
        /// </summary>
        public virtual ICollection<SpecificationAttributeOption> SpecificationAttributeOptions
        {
            get { return _specificationAttributeOptions ?? (_specificationAttributeOptions = new List<SpecificationAttributeOption>()); }
            protected set { _specificationAttributeOptions = value; }
        }
 
 
反之在SpecificationAttributeOption中SpecificationAttribute是一的一端。
所以在SpecificationAttributeOption只要定义一个就够了。当然的定义SpecificationAttributeId
代码如下。
        /// <summary>
        /// Gets or sets the specification attribute identifier
        /// </summary>
        public int SpecificationAttributeId { get; set; }

同时导航关系如下所示

        /// <summary>
        /// Gets or sets the specification attribute
        /// </summary>
        public virtual SpecificationAttribute SpecificationAttribute { get; set; }

这样就完成了一对多的关系。总结如下:一对多这种关系,则在一的端把多的端定义成为

这个是定义字段    private ICollection<T> _xxxxxxxs;
接着定义属性     
        /// <summary>
        /// Gets or sets the product specification attribute
        /// </summary>
        public virtual ICollection<T> Ts
        {
            get { return _xxxxxxxxs ?? (_xxxxxxxxs  = new List<Ts>()); }
            protected set { _xxxxxxxxs  = value; }
        }

这样就完成了在一的端对.多端的定义

 

 

在多的端.只要把一的这一端的Id定义下..

        public int SpecificationAttributeOptionId { get; set; }

         public virtual SpecificationAttributeOption SpecificationAttributeOption { get; set; }

 

OK.完成

转载于:https://www.cnblogs.com/zhaojianwei/p/3899390.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值