我在想,實體是否有能力保存對上下文的更改?或者是否有與該特定實體相關的業務邏輯?例如:EF:實體是否應該具有業務邏輯?
ActionResult ResetPassword(UserViewModel viewModel)
{
var user = userCollection.GetUser(viewModel.Username);
user.ResetPassword();
}
其中:
class User : Entity
{
public string Password{ get; set; }
public ResetPassword()
{
Password = ""
context.SaveChanges();
}
}
我覺得這有點不可思議,因爲該實體將有上下文的參考。我不確定這是否會起作用 - 或者這是否被推薦。但我想在一個不需要擔心更高級別保存更改的域中工作,我該如何實現這一目標?
謝謝!
更新
我已經更新了我的例子 - 希望它更清楚一點,現在:)
這很有趣。看,我有一個不同的想法。我認爲域對象應該具有@Steven提到的行爲。我認爲模型是有效的實體 - 比如User。也許更好的例子是 - 用戶是否可以重置密碼。我原以爲這是用戶的責任,而不是倉庫的責任。你覺得Shyju/Steve怎麼樣? – Karan 2012-08-17 14:28:53
http://en.wikipedia.org/wiki/Anemic_domain_model – Karan 2012-08-17 14:46:14
http://msdn.microsoft.com/en-us/library/ff649690.aspx – Shyju 2012-08-17 14:51:27