0

私はCMSを開発しており、次のようなカテゴリクラスがあります:

public partial class Category
{
   public int CategoryId {get;set;}
   public string CategoryName {get;set;}
   public string CategoryType {get;set;}
}

Entity Framework を使用して、データベースにそのようなデータベース テーブルを保存および作成しています。さて、動的フィールドをこのモデルに、つまりデータベースに追加するにはどうすればよいでしょうか。ユーザーが希望のカスタム フィールドを追加できるようにしています。したがって、私のデータベーススキーマは次のようになります

Category(CategoryId, CategoryName, CategoryType, CustomField1, CustomField2);

EF 5を使用してこれを行うにはどうすればよいですか?

4

1 に答える 1

3

あなたが期待する方法ではできません。カスタムフィールドをテーブルに追加する代わりに、テーブルのようなCategoryものが必要です. クラスは次のようになります。CategoryExtensionCategoryIdFieldNameFieldValueCategoryIdCategoryCategoryIdFieldName

public partial class Category
{
   public int CategoryId {get;set;}
   public string CategoryName {get;set;}
   public string CategoryType {get;set;}
   public virtual ICollection<CategoryExtension> Extensions { get; set; }
}

public class CategoryExtension 
{
   public int CategoryId { get; set; }
   public string Name { get; set; }
   public string Value { get; set; }
}
于 2013-03-25T19:42:57.197 に答える