1

同じテーブル内のカテゴリ間の関係を追加しようとしています。私は

カテゴリー (ID INTEGER PRIMARY KEY AUTOINCREMENT、NAME TEXT)

テーブルと

CATEGORIES_CATEGORIES (ID INTEGER PRIMARY KEY AUTOINCREMENT、CATEGORIES_ID INTEGER NOT NULL、SUBCATEGORIES_ID INTEGER NOT NULL)

テーブル。

そして、それらを Vici Coolstorage ORM と一緒にマッピングしようとしています。クラスを作りました

カテゴリ クラス

[MapTo("CATEGORIES")]
    public abstract class Category : CSObject<Category>
    {
        public abstract int Id { get; }
        public abstract string Name { get; set; }

        [ManyToMany("CATEGORIES_CATEGORIES", Pure = true)]
        public abstract CSList<CategoryCategory> Subcategories { get; set; }
    }

CategoryCategory クラス

[MapTo("CATEGORIES_CATEGORIES")]
    public abstract class CategoryCategory : CSObject<CategoryCategory>
    {
        public abstract int Id { get; }

        [ManyToOne(LocalKey = "CATEGORIES_ID", ForeignKey = "ID")]
        public abstract Category Cat { get; set; }
        [ManyToOne(LocalKey = "SUBCATEGORIES_ID", ForeignKey = "ID")]
        public abstract Category SubCat { get; set; }
    }

しかし、私はそれを機能させることはできません。この関係を機能させるのを手伝ってくれる人はいますか?

4

1 に答える 1

2

マッピング テーブルは、多対多の関係のターゲットにしないでください。

次のようなことを試してください:

[ManyToMany("CATEGORIES_CATEGORIES", 
            LocalKey="ID", ForeignKey="ID",  
            LocalLinkKey="CATEGORIES_ID", ForeignLinkKey="SUBCATEGORIES_ID")]
public abstract CSList<Category> Subcategories { get; }
于 2013-03-03T21:48:09.313 に答える