Q
亞音速和子表
0
A
回答
1
你的意思是說,你有一個表中存儲着不同的值,並且依賴於你想要返回不同對象的值?
例如你有一個表寵物
id type name
---------------------
1 dog bello
2 cat scott
3 cat tiger
你想從它得到狗和貓的對象?
我有一個類似的情況,我通過創建一個Dog類和一個Cat類來解決它,它們都從subsonic的自動生成的寵物類繼承,並實現了我的IPet接口存根,並與工廠方法一起使用,新類型:
public Class Dog : Pet, IPet { }
public Class Cat : Pet, IPet { }
public Interface IPet { }
public static IPet GetAllPets()
{
List<IPet> pets = new List<IPet>();
foreach Pet pet in PetCollection.FetchAll()
{
IPet newpet;
if (pet.Type == "dog")
newpet = new Dog();
else if (pet.Type == "cat")
newpet = new Cat();
else throw new InvalidOperationException("Unknown pet type " + pet.Type);
pet.CopyTo(newpet);
newpet.MarkOld();
pets.Add(newpet);
}
}
從內存中鍵入,不保證編譯。但理論應該清楚。
1
簡短答案是否定的,SubSonic沒有內置此功能。你也許可以用ExecuteTypedList>來重新創建,但是這將需要很多手工工作(你可能會重寫NH功能的大部分功能)。
相關問題
- 1. SQLite和亞音速
- 2. 亞音速表映射
- 3. 亞音速3.0和LINQ
- 4. 亞音速,MVC和ActiveRecord的
- 5. 亞音速
- 6. 亞音速3
- 7. 亞音速收集
- 8. 亞音速2.1:SqlQuery.ExecuteJoinedDataSet()
- 9. 亞音速.Filter()在
- 10. 亞音速版本
- 11. 亞音速3 - SimpleRepository
- 12. 亞音速與webservice
- 13. 亞音速2.x的子串
- 14. 亞音速單個WHERE子句
- 15. 有誰亞音速3使用亞音速在.net
- 16. 亞音速動態查詢表達式
- 17. 亞音速3.0.0.3爲多個主鍵表
- 18. 亞音速3.0.0.2 - SimpleRepository相關的表
- 19. 只生成修改表類 - 亞音速
- 20. 亞音速:自我加入,表別名
- 21. 亞音速2.2和ASP.NET的GridView
- 22. 異常亞音速2.2,SQLite和遷移
- 23. 亞音速和樂觀併發
- 24. Asp.net MVC和亞音速3安裝
- 25. 亞音速3.0 MVC和段落控制
- 26. 外鍵和亞音速簡單庫
- 27. Sql注入攻擊和亞音速
- 28. 亞音速查詢(ConditionA OR ConditionB)和ConditionC
- 29. 亞音速3 SVN結帳和T4
- 30. 亞音速和SQL Azure可能嗎?
我改變了一點例子,因爲它不起作用(你可以把狗當作寵物,但不是寵物給狗)。 – 2009-06-25 07:24:38