zoukankan      html  css  js  c++  java
  • 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.完成
  • 相关阅读:
    Influx Sql系列教程一:database 数据库
    Influx Sql系列教程零:安装及influx-cli使用姿势介绍
    移动端/H5关于cursor:pointer导致的问题
    onselectstart="return false"
    js正则验证之不能使用相同字符
    js通过sessionStorage实现的返回上一页
    MetaHandler.js:移动端适配各种屏幕
    iOS下的 Fixed + Input 调用键盘的时候fixed无效问题解决方案
    js判断三个数字中的最大值
    js判断微信浏览器
  • 原文地址:https://www.cnblogs.com/zhaojianwei/p/3899390.html
Copyright © 2011-2022 走看看