2016-07-29 53 views
0

考慮到文檔here,你可以這樣定義給出的示例中您波蘇斯外鍵關係:如何定義引用時一個POCO /表有一個複合主鍵

public class Customer 
{ 
    [References(typeof(CustomerAddress))] 
    public int PrimaryAddressId { get; set; } 

    [Reference] 
    public CustomerAddress PrimaryAddress { get; set; } 
} 

但是,讓我們說,我CustomerAddress實際上poco類必須這樣定義,因爲很久以前有人決定像這樣設計表格。

public class CustomerAddress 
{ 
    [PrimaryKey] 
    public int Id_1 { get; set; } 

    [PrimaryKey] 
    public string Id_2 { get; set; } 
} 

我怎樣才能正確地定義在Customer類中定義CustomerAddress組合鍵的財產PrimaryAddress[Reference]

回答

1

您不能使用依賴它的API(但您仍然可以使用SELECT) 請參閱OrmLite limitations

我與遺留數據庫有同樣的問題,我無法修改(因爲另一個項目與我的同居)。 因此,我刪除了主鍵,然後在數據庫(PK)上創建了一個新的Id字段(自動增量),最後在兩個字段上創建了唯一的約束(NOT NULLABLE)。

所以現在,我可以使用OrmLite來正確選擇而不會破壞與其他項目的兼容性。

相關問題