1
我使用Linq To實體獲得2個物體m1 & m2。 而我不明白爲什麼2個不同的對象參考相同的表模板表。爲什麼2個不同的實體引用同一個對象?
我懷疑是因爲MConfigOnPage1,MConfigOnPage2與MConfiguration之間的連接。也許它應該以某種方式分裂?
我附上我的ERD和代碼。
我將不勝感激爲什麼發生這種情況?
謝謝
var cxt = new Entities();
//this returns MConfiguration with Id=19
var m1 = (from mop in cxt.MConfigOnPage1
where mop.SiteMapId == 15 && mop.HolderId == 13
select mop.MConfiguration).FirstOrDefault();
//this returns MConfiguration with Id=40
var m2 = (from mop in cxt.MConfigOnPage2
where mop.SiteMapId == 15 && mop.HolderId == 1
select mop.MConfiguration).FirstOrDefault();
var t1 = m1.Holder.Template;
var t1.Code = 13;
var t2 = m2.Holder.Template;
//I expect that **t2.Code** to be 0, but it equals 13
//This behavior tells me that m1 & m2 reference the same Template object,
// BUT shouldn't m1 & m2 to have their own Template objects?
ERD
MConfiguration表數據
持有人數據表 ____________________________________________________________________________ 模板表數據
_____________________________________
m1&m2是從** DIFFERENT **表中提取的,它們如何具有相同的對象? – theateist 2011-03-09 11:29:15
它也是我所指的Template類型的對象。在你的例子中,t1和t2都指向Template表中的同一行。試試m1.Holder == m2.Holder && m1.Holder.Template == m2.Holder.Template。 – 2011-03-10 22:26:59