2008-10-03 1 views
1

ActiveRecord 클래스에서 String과 같은 기본 유형의 HasMany 관계를 가질 수 있습니까? 예 : (TodoListItem)를 사용하여 값을 유지합니다.활성 레코드 클래스에 대한 목록으로 <string>을 가질 수 있습니까?

[ActiveRecord] 
public class TodoList 
{ 

    [PrimaryKey] 
    public int Id 
    { 
    get { return _id; } 
    set { _id = value; } 
    } 

    [HasMany(typeof(string)] 
    public IList<string> Items 
    { 
    get { return _items; } 
    set { _items= value; } 
    } 
} 

아무도 도와 줄 수 있습니까?

답변

8

예, 가능합니다. 일대 다 관계를 영속 형이 아닌 내장형 또는 단순형 (값 유형 또는 문자열)에 매핑 할 수 있습니다.

HasMany 속성 선언에 ColumnKey, TableElement 매개 변수를 지정해야 올바르게 연결될 수 있습니다. AR이 업데이트와 케스케이드를 처리 할 수 ​​있도록 대리 키 열을 가져야하고는 테이블에있는 어떤 열이 목록 작성에 사용할 간단한 값을 보유하고 있는지 알려줍니다. 만약 당신이 천국 ',

말하기의 -

[HasMany(typeof(string), Table="ToDoList_Items", 
     ColumnKey = "ListItemID", Element = "Item")] 
public IList<string> Items { get; set; } 

(단, API 문서 당 그것은 작동한다고 또는 비슷한 나는 그것을 확인하려면이 상자에 편리 컴파일러 없어요.) 이미 모양이 있었는데, http://api.castleproject.org은 성 스택과 관련된 모든 작업에 필수 불가결합니다.

-1

ActiveRecord에서 유형은 테이블의 레코드에 매핑됩니다 (기본적으로). 이 유형을 어떻게 테이블에 매핑해야하는지 혼란스럽게 생각하는 것 같습니다. 로드, 그런 다음 목록

[ActiveRecord(Table = "MyTable")] 
public class MyClass : ActiveRecordBase<MyClass> 
{ 
    [Property] 
    public int Id { get; set; } 

    [Property] 
    public int MyClassId { get; set; } 

    [Property] 
    public string ListItem { get; set; } 
} 

:

public void LoadMyClasses() 
{ 
    MyClass[] results = MyClass.FindAll(); 
} 

난 당신이 시간을 보낼 좋을 것를

MyClass의 유형합니다 (PK 설정 제외)이 같은 정의 뭔가를해야한다 ActiveRecord documentation (또는 tutorial)을 사용하면 혼란을 피할 수 있습니다.

+0

활성 레코드 클래스에서 속성 목록으로 된 문자열 목록을 실제로 찾았습니다. 실제로 내용을 강조하기 위해 일부 내용을 제거했습니다. 감사 – Xian

관련 문제