使用SauceDB,如何將表格「A」和表格「B」之間的一對多關係轉換爲對應於表格A的類中的列表屬性(包含B對象)?該關係由表B中的一個外鍵表示,引用表A(因此許多B記錄可以屬於一個A記錄)。如何使用SauceDB將一對多關係轉換爲列表屬性?
1
A
回答
0
醬不支持Linq2SQL樣式的導航屬性。但是,根據您的要求,有兩種支持方法可以解決此問題。
1)只要別在你的代碼中加入
IDataStore dstore = .GetDataStore();
var query = from i in dstore.Query<MyTable>()
join x in dstore.Query<MyTable>() on i.Name equals x.Name
select new { };
2)另一種方法如下,並給出了更多的導航屬性風格的使用。修改你的對象定義爲包含一個列表,並使用[AdditionalInit]
public class Foo
{
public int ID { get; set; }
public string Name { get; set; }
[IgnoredField]
public List<Bar> Bars { get; set; }
[AdditionalInit]
private void LoadBars(IDataStore dstore)
{
Bars = dstore.Query<Bar>().Where(r=> r.Foo = this.ID).ToList();
}
}
這應該做你追求的是什麼,如果你有任何問題,讓我知道。
0
我發現我可以使用AdditionalInit屬性來定義一個鉤子,它在數據庫對象被初始化時被調用。由於這個鉤子可以接受數據存儲,所以我可以在那裏推導出一對多的關係。
下面是A級的相關摘錄:
public class A
{
...
public List<B> Bs { get; private set; }
[AdditionalInit]
public void OnInit(IDataStore dstore)
{
Bs = dstore.Query<B>().Where(b => b.A.Id == Id).ToList();
}
}
請記住我沒能還測試此代碼。
相關問題
- 1. 如何將屬性列表(如地圖)轉換爲對象[]
- 2. 如何使用C++將一系列整數轉換爲列表
- 3. 如何將(id)參數轉換爲屬性列表對象?
- 4. 將ER關係圖中的關係屬性轉換爲SQL
- 5. 將關係與屬性轉換爲關係模式?
- 6. 如何從2列表轉換多對多關係?
- 7. 如何將關係的屬性轉換爲豬的字符串
- 8. 如何將屬性列表轉換爲字符串列表?
- 9. 如何使用JAXB將屬性對象轉換爲JSON對象
- 10. 如何將關係(具有屬性)轉換爲關係模式/ sql?
- 11. Java8將對象列表轉換爲對象的一個屬性列表
- 12. sql:將ER圖轉換爲關係映射(多值屬性?複合屬性?)
- 13. NSFetchRequestGroupBy屬性爲多對多關係
- 14. 使用額外字段將多對多關係轉換爲表格
- 15. NHibernate標準從一對多關係(列表屬性)排序
- 16. 如何將多個xts列表轉換爲一個xts對象?
- 17. 從一對一關係轉變爲多對多關係
- 18. 如何將一組屬性轉換爲一組鍵值對?
- 19. 應該將「一對多」關係建模爲屬性嗎?
- 20. 如何將RDF圖形屬性轉換爲OWL對象屬性?
- 21. 如何多使用css轉換屬性?
- 22. 如何將表格轉換爲多列
- 23. 一對多關係Semantic MediaWiki屬性
- 24. 如何將一系列位板轉換爲列表?
- 25. C#轉換列表<T>轉換爲對象屬性
- 26. 如何將對象列表轉換爲另一個列表。
- 27. 如何將屬性列表從XML轉換爲JSON?
- 28. 將錶轉換爲關係表
- 29. 如何與列表屬性與所有列表轉換對象列表,一個列表屬性itemes包含
- 30. Xml將具有索引的屬性列表轉換爲對象
號碼2)就是我在此期間所做的:) – aknuds1
啊,我發現我需要[IgnoredField]屬性,您在此處包含此屬性。 – aknuds1