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.完成
  • 相关阅读:
    CentOS 5.5如何通过yum安装Zend Optimizer
    如何更改商品分类名称的长度?
    ECSHOP的后台路径修改
    SVN协同开发时服务端与线上APACHE测试环境网站同步记录 转
    一个简单的替换字符的SQL命令
    svn 的常见操作 import
    SVN制作补丁包的方法
    kloxo密码解决办法
    SVN的分支/标记/合并
    如何将一个表中的所有字母都变成小写
  • 原文地址:https://www.cnblogs.com/zhaojianwei/p/3899390.html
Copyright © 2011-2022 走看看