2014-10-18 6 views
0

SQLite에서 C# 용 복합 키에 주석을 달 수있는 방법이 있습니까? 다음 코드는 테이블이 하나 이상의 기본 키가 말하는 예외가 발생합니다 :SQLite for WinRT 다중 기본 키?

userDatabase.CreateTable<MyObject>(); 

//class file 
[SQLite.Table("MyObject")] 
public class MyObject 
{ 
    [SQLite.PrimaryKey] 
    public int IdOne { get; set; } 

    [SQLite.PrimaryKey] 
    public int IdTwo { get; set; } 
} 
+0

여기 엔 Entity Framework와 정확히 어떤 관련이 있습니까? – TomTom

답변

0

I 고정 얻을 수있는 여러 풀 요청이있다 해결책을 가져라. 이것은 최선의 해결책은 아니지만 그것은 나를 위해 일했습니다.

개념은 합성 키를 수동으로 만드는 것입니다. 따라서, 귀하의 경우, 선언 :

userDatabase.CreateTable<MyObject>(); 

//class file 
[SQLite.Table("MyObject")] 
public class MyObject 
{ 
    public int IdOne { get; set; } 
    public int IdTwo { get; set; } 

    [SQLite.PrimaryKey] 
    public string auxCompositeKey {get; set;} 
} 

을 그런 다음 개체를 만들 때 다음과 같이 바로 드 auxCompositeKey합니다

oMyObject.auxCompositeKey = IdOne.ToString() + IdTwo.ToString ().

+0

그리고 두 개의 레코드가있는 경우 IdOne = 1, IdTwo = 23 및 : IdOne = 12, IdTwo = 3 )? – Namek

+0

그걸 날려 버릴거야! 롤. 제대로 작동하려면 업데이트가 필요합니다.하지만 아이디어는 그 것입니다. – ovamendocino