动态数据站点:无法隐藏表格

问题描述 投票:0回答:1

我已经根据“动态数据站点”模板创建了新网站。添加了 3 个表:Product、ProductSKU、SkuPrice。表之间存在关系:

Product.ProdId=ProductSku.ProdId
ProductSku.SkuId=SkuPrice.SkuId

我不想让用户看到“产品”表,所以我隐藏了该表:

namespace CompanyDbAdmin
{
    [MetadataType(typeof(ProductMetadata))]
    public partial class Product
    {
    }

    [ScaffoldTable(false)]
    public class ProductMetadata
    {    
    }
}

当我尝试隐藏“ProductSKU”表中的某些列时:

namespace CompanyDbAdmin
{
    [MetadataType(typeof(ProductSKUMetadata))]
    public partial class ProductSKU
    {
    }

    public class ProductSKUMetadata
    {
        [ScaffoldColumn(false)]
        public object MyCollumnName { get; set; }
    }
}

我发现这不起作用:列仍然显示。问题似乎是“ProductSKU”类与现有表不“匹配”...

这是该表自动生成的代码:

namespace CompanyDbAdmin
{

    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="SotiModel", Name="ProductSKU")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class ProductSKU : EntityObject
    {
        ....
    }
}

尝试用

隐藏此表
namespace CompanyDbAdmin
{
    [MetadataType(typeof(ProductSKUMetadata))]
    public partial class ProductSKU
    {
    }

    [ScaffoldTable(false)]
    public class ProductSKUMetadata
    {
        [ScaffoldColumn(false)]
        public object MyCollumnName { get; set; }
    }
}

也不起作用:表格仍然存在于第一页...

为什么?如何解决这个问题?

asp.net entity-framework dynamic-data asp.net-dynamic-data
1个回答
2
投票

该问题的解决方案:部分类与自动生成的类部分不匹配也解决了当前的问题

问题出在 VS 中:它没有将实体类视为部分......因此没有将元数据类应用于实体类。

© www.soinside.com 2019 - 2024. All rights reserved.