Я хотел убедиться, что в базе данных у меня есть уникальные адреса, поэтому я попробовал следующее
Код: Выделить всё
public class SaleAddress : SaveConfig
{
[Key]
[Required]
public Guid SaleAddressId { get; set; }
public Guid SignatureId { get; set; }
public string Address { get; set; }
}
public class DepositAddress : SaveConfig
{
[Key]
[Required]
public Guid DepositAddressId { get; set; }
public int? Index { get; set; }
public bool Active { get; set; }
public Guid SignatureId { get; set; }
public string Address { get; set; }
}
Код: Выделить всё
modelBuilder.Entity()
.HasIndex(e => e.Address)
.IsUnique();
// Ensure Address is unique no duplicated address
modelBuilder.Entity()
.HasIndex(e => e.Address)
.IsUnique();
Пример. Допустим, я хочу вставить новые адреса депозитов
Код: Выделить всё
var depositAddress = new DepositAddress
{
Address = "Foo"
};
await _repository.DepositAddressesRepository.Add(depositAddress);
var depositAddress = new DepositAddress
{
Address = "Foo1"
};
await _repository.DepositAddressesRepository.Add(depositAddress);
await _repository.SaveAsync();
//следующее должно вызвать исключение, поскольку уже существует "Foo1". " по адресу депозита
Код: Выделить всё
var saleAddress = new SaleAddress
{
Address = "Foo1"
};
await _repository.SaleAddressesRepository.Add(saleAddress);
await _repository.SaveAsync();
Подробнее здесь: https://stackoverflow.com/questions/786 ... t-entities
Мобильная версия