我们首先在项目中使用MVP和实体框架代码。对于大多数基本函数,我们将使用DbContext,但我们想在添加Profiles时包含一些逻辑。验证和其他一些规则。
所以我们的对象是通常定义的:
public class Profile:BaseEntity
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid ProfileId {get; set; }
public string FirstName {get; set; }
//....
}
我希望有一个我可以这样称呼的方法:
var newProfile = new Profile
{
FirstName = "John",
...
}
newProfile.Insert();
// or
_dbContext.Profile.Add(newProfile);
请调用我们的方法来执行业务规则:
public bool AddProfile(Profile thisProfile)
{
// Do our business
return true; // or false if failed
}
我只是不确定放置该方法的最佳位置。我可以将它添加到Profile.cs吗?我应该将它添加到DbContext类中吗?
我不确定搜索的最佳方式或最佳条款。
答案 0 :(得分:0)
如果只是在少数情况下需要这样做,你可以覆盖dbcontext的ValidateEntity方法
http://www.entityframeworktutorial.net/EntityFramework4.3/validate-entity-in-entity-framework.aspx
只有在调用SaveChanges();
时才会验证