我正在使用存储库模式。
我有一个国家/地区存储库,我正在使用服务来提交该存储库。我应该在哪里检查该国家/地区是否已存在于数据库中,我会抛出异常吗?
有没有一种方法可以在一次数据库调用中做到这一点? (如果不存在则检查并插入)?如果可以的话,可以在服务层实现吗? (如果这是您建议我进行检查的地方)。
是否将这种逻辑放入您的服务或存储库中是一个主观问题。就我个人而言,我会让服务检查并插入(如果它不存在),但也会让您的存储库在尝试插入之前验证它不存在,这样您的存储库就会强制执行一些“逻辑”来阻止您的数据库免于被骗。
怎么做?
public void InsertIfNonExistant(string Country)
{
if(!_myContext.Countries.Any(c=>c.Name == Country))
InsertNewCountry(Country);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)