我見過2種類型的實體的實體,利弊類類型FK,像這樣:把剛纔的密鑰類型(ID)或
public class Person
{
public int Id {get;set;}
public string Name {get;set;}
public Country Country {get;set;}
}
像這樣:
public class Person
{
public int Id {get;set;}
public string Name {get;set;}
public int CountryId {get;set;}
}
我認爲第二個方法是更輕便,你只有當你需要的相關數據;
你覺得哪一個更好?
你稱之爲「魔術」的東西是ORM的核心。不使用它會創建一個貧血域模型,這是一種ORM反模式(IOW,如果您不使用它的功能,爲什麼要使用ORM?) – 2010-09-27 15:01:19
感謝您的評論。從我的角度來看,在方法接口中暴露實體對象會給方法開發者帶來一個問題:實體是否來自同一個對象上下文?我可以重新附加到我自己的嗎?實體中加載了什麼部分的對象圖?我可以延遲加載實體的其他部分/是實體的對象上下文還活着嗎? ORM增加了很多複雜性,我已經幾次將我的手指燒在我認爲可行的事情上,但沒有。 – Andreas 2010-09-27 16:29:10
您描述的所有問題都來自錯誤的會話管理。我並不是說每個人都能夠直觀地掌握基本概念,但是汽車的比喻應該已經到位。 – 2010-09-27 18:28:43