2010-02-10 30 views
1

我已經生成了一個EDMX項目,並設置了我的數據實體類。它們都從System.Data.Object.DataClasses.EntityObject繼承。我想要做的是從EntityObject繼承另一個抽象類,然後我的數據實體類繼承自該新類。在實體框架中添加EntityObject和生成的類之間的自定義抽象基類

完成此操作的最佳方法是什麼?

謝謝你的幫助。

+0

是否有你做繼承的原因,而不是像實現部分類更簡單? – bryanjonker 2010-02-10 20:24:06

+1

我正在實施部分類。原因是我通過WCF調用傳遞對象,並且我想將這些對象類型中的任何一個傳遞給相同的調用,但是它使得它更受限於「EntityObject」。抽象類是這樣做的一種方式,因爲接口不能被序列化。 – Sako73 2010-02-10 20:26:34

回答

3

對於刪除EntityObject的想法是正確的,EF類的構件不應該通過線路暴露。

請將請用DTO pattern用於穿過電線的物體。

如果您創建新的DTO類(手動或使用T4模板)並使用諸如AutoMapper之類的數據來回映射數據。

序列化的有效載荷將會更簡單,更可重用。

+0

我明白了;傳遞一個抽象類只能傳遞該類中定義的參數,並且不會包含其餘的數據。謝謝。 – Sako73 2010-02-10 20:48:43

+0

也正確。 – JTew 2010-02-11 03:01:13