2

「動的データ サイト」テンプレートに基づいて新しい Web サイトを作成しました。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; }
    }
}

も機能しません:テーブルはまだ最初のページに存在します...

なんで?それを修正する方法は?

どうもありがとう!

4

1 に答える 1

2

その質問への解決策:部分的なクラスが現在のものを解決した自動生成されたクラスの部分と一致しません

PS実際、リンクされた回答はモデレーターによって削除されましたが(理由はわかりません)、問題はVSにありました:エンティティクラスを部分的と見なしませんでした...その結果、メタデータクラスをエンティティクラスに適用しませんでした.

于 2011-05-18T19:50:59.693 に答える