如果我想由來自多個表我只是添加所有表到.edmx文件數據的對象。從那裏我可以創建一個能夠得到我想要的任何東西的類。沒有必要進行1:1配對。在我的創建對象的方法中,基於TableA
的主鍵,你可以這樣做;
Obj GetObj(string primaryKey)
{
dataBase context = new dataBase();
var obj = (from a
in context.TableA
where a.Id == primaryKey
select a);
var otherObj = (from b
in context.TableB
where b.Id == a.ForeignKey
select b);
Obj foo = new Obj();
foo.Id = a.Id;
foo.SomethingElse = a.Somthing;
foo.FromB = b.Id;
foo.AnInt = (int)b.count;
return foo;
}
要保存一些更改;
void AddNewObject()
{
dataBase context = new Context;
TableA a = new TableA();
TableB b = new TableB();
a.Id = this.Id;
a.OtherField = this.OtherField;
b.Key = this.BKey;
b.SomeInt = this.SomeInt;
context.AddObject("TableA", a);
context.AddObject("TableB", b);
context.SaveChanges();
}
當然這些都需要我沒有包括一些錯誤處理,但概念不是從當你有標準EntityObject <不同 - >表的映射。我認爲保留一些正常的映射然後在上面建立你的類是更簡單的。
它是否反向工作?我可以給我的複雜對象,告訴它承諾,它會做拆除? I.E.沿着雙向數據地圖的線條。 – GPGVM
@ user1278561您必須編寫另一種方法將對象屬性映射到表及其屬性。我會添加一個小例子。 – evanmcdonnal