我已經閱讀了關於BL的一些文章,但這種方法似乎對我來說並不直觀。它似乎打破了正常的OOP原則。這裏有一個非常簡單的例子:客戶表包含每個客戶的出生日期和性別。預期壽命表包含客戶ID,年齡以及該年齡段的生存概率。集成到實體框架中的業務邏輯
基本的OOP原則是不是要求將方法集成到實體中?例如。客戶端類中的calculateSPTable()方法。
class client {
int clientId;
int age;
bool male;
list<surviveProb> lifeExpectancy;
void calculateLifeExpectancy(); // calculates lifeExpectancy
}
class surviveProb {
int surviveProbId;
int clientId;
int age;
double probability;
}
然而,今天的方法似乎表明這些操作必須在一個單獨的層和一個單獨的類。在實體上操作的方法不應該包含在實體框架實體中。這似乎違反直覺。我真的想將方法放入EF實體中。這是否會導致問題?我在這裏錯過了什麼?
實體框架映射您的實體對象(例如屬性,方法,枚舉等)通過反射。現在考慮一下,一個實體有10個屬性,10個方法將其與另外一個具有10個屬性的實體進行比較,這將有更快的映射? –
我想我理解屬性映射,但我不知道如何映射方法。 – jlear