如何在亞音速中創建一對一的關係?例如,我有我的桌子叫Readings,每個Reading只有一本書,但是Subsonic返回一本書的IQueryable
。我希望它只返回一本書。謝謝。與亞音速的一對一關係
3
A
回答
1
我假設你使用ActiveRecord模板來生成你的代碼。
裏面ActiveRecord.tt,你會看到一個部分,看起來像這樣:
public IQueryable<<#=fk.OtherClass #>> <#=propName #>
{
get
{
var repo=<#=Namespace #>.<#=fk.OtherClass#>.GetRepo();
return from items in repo.GetAll()
where items.<#=CleanUp(fk.OtherColumn)#> == _<#=CleanUp(fk.ThisColumn)#>
select items;
}
}
這對於爲表上的每個外鍵生成的代碼模板。你需要修改這個部分,或者在這段代碼中加入一些邏輯,併爲你的一對一密鑰生成不同的東西。
希望能指引您朝着正確的方向發展。
1
我所做的就是創建一個部分類,像這樣:
public partial class Reading
{
private Book _book;
public Book Book
{
get
{
if (_book == null)
_book = this.Books.SingleOrDefault();
{
return _book;
}
}
set
{
_book = value;
}
}
}
然後你就可以直接訪問閱讀的子對象的書,而不是通過IQueryable的對象。
如果有人知道更好的方法來做到這一點,請讓我知道,因爲這是我經過很多努力後才能想出的。
編輯:忘了提,這部分類必須是在相同的命名空間中產生亞音速機型
相關問題
- 1. 亞音速一對多的關係的子對象
- 2. 亞音速3 SimpleRepository一個一對多
- 3. 亞音速與webservice
- 4. 使用亞音速與mysql
- 5. 使用亞音速與vb.net
- 6. 亞音速3
- 7. 亞音速2.2
- 8. 亞音速
- 9. 亞音速3.0一般問題
- 10. 關於亞音速3(ActiveRecord的)查詢
- 11. 亞音速3.0.0.2 - SimpleRepository相關的表
- 12. 亞音速3和表之間的關係
- 13. ormlite與一對一的關係
- 14. sqlalchemy:與聲明的一對一關係
- 15. 與實體 - 一一對應的關係
- 16. 一對一與ember-model的關係
- 17. 對亞音速查詢的SQL語句
- 18. 亞音速:MySqlDataReader將關閉連接
- 19. 問題關於亞音速2.2版
- 20. 亞音速3 - SimpleRepository
- 21. 亞音速版本
- 22. 亞音速.Filter()在
- 23. 列亞音速2.2
- 24. 亞音速2.1:SqlQuery.ExecuteJoinedDataSet()
- 25. 亞音速收集
- 26. SQLite和亞音速
- 27. 問題與擁有一對一的關係,父/子關係
- 28. 一對多與多對多的關係
- 29. 與休眠一對一關係
- 30. 使用亞音速與Visual Studio 2012