2
我期望在創建任何實體時運行一些代碼。一直在DbContext尋找重寫的東西,但有一些困難找到有用的東西。自動操作實體框架實體以添加額外信息
解釋更多...我有幾個模型,當我使用這些模型之一來返回實體中的數據時,我希望能夠在返回到調用之前對實體做些什麼方法。我想最多爲每個模型定義一次這個代碼,我希望它爲所有實體都發生。
任何EF專家在那裏?
感謝
我期望在創建任何實體時運行一些代碼。一直在DbContext尋找重寫的東西,但有一些困難找到有用的東西。自動操作實體框架實體以添加額外信息
解釋更多...我有幾個模型,當我使用這些模型之一來返回實體中的數據時,我希望能夠在返回到調用之前對實體做些什麼方法。我想最多爲每個模型定義一次這個代碼,我希望它爲所有實體都發生。
任何EF專家在那裏?
感謝
DbContext
不提供這樣的機制,但是你可以使用這個:
ObjectContext objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
objectContext.ObjectMaterialized += (sender,e) => {
var yourEntity = e.Entity as YourEntityType;
if (yourEntity != null) {
// Do something
}
};
根本真棒。 – Shumii
哪裏會是放這段代碼的最佳地點?在使用ObjectContext的EF5中,我們可以通過OnContextCreated來掛鉤,但我無法在EF6中找到與DbContext相當的等價物。 – kman