编码:
public class MyRepository
{
public TeamContext _teamContext;
public MyRepository(TeamContext teamContext)
{
_teamContext = teamContext;
}
public void AddTeam(Team team)
{
team.Id = Guid.NewGuid();
_teamContext.Team.Add(team);
}
}
团队名称应该是唯一的。使用实体框架如何验证?
2条答案
按热度按时间uajslkp61#
您可以检查是否有其他记录具有 * 相同的名称 *。如果有,则需要抛出异常。否则,继续流程。
我建议您从更高的级别(如 services)进行检查,以尽可能保持存储库的方法干净。
除此之外,还建议在数据库端使用 unique constraint,因为它是线程安全的,并且可以防止从其他地方编辑团队的名称。
zy1mlcev2#
使用
UNIQUE
约束,确保一列或一组列中的所有值彼此不同或唯一。例如:如果在电子邮件中插入重复值,则会出现如下错误:
您还可以设置多列唯一:
**注意:**不能在sqlite中向现有表添加约束条件。只能重命名表或向表添加列。