我已根据“动态数据网站”模板创建新网站。其中添加了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; }
}
}
也不起作用:第一页上仍然存在表......
为什么呢?如何解决?
非常感谢!
答案 0 :(得分:2)
该问题的解决方案:Partial class doesn't match to auto-generated class part解决了当前的问题
P.S。实际上,我的链接答案被主持人删除了(不知道为什么),但问题出现在VS中:它没有将实体类视为部分...并且因此没有将metadataclass应用于实体类。