我有以下回购代码:
public int Create(Address address)
{
context.Addresses.Add(address);
int dbCity = context.Cities.Select(c => c.Name == address.City).Count();
if( dbCity == 0 )
{
City newCity = new City
{
Name = address.City
};
context.Cities.Add(newCity);
}
context.SaveChanges();
return address.AddressID;
}
我想说的是,如果发现一个城市的名称为address.City
,那么不要在数据库中创建新的城市。。否则就这样做。
- 问题是,这个语法不好,有什么更好的方法来实现
.Count
位
您可以使用Any():
bool flag = context.Cities.Any(c => c.Name == address.City);
if(!flag)
{
// no city exists with this name
City newCity = new City
{
Name = address.City
};
}