Как сделать так , что бы одни и те же данные не записывались в БД
public CreateTechnicCommand(string name, string email, int age, string productname, int quantity)
{
this.name = name;
this.email = email;
this.age = age;
this.productname = productname;
this.quantity = quantity;
}
public void Execute()
{
using(Technic context = new Technic())
{
Customer customer = new Customer()
{
Name = this.name,
Email = this.email,
Age = this.age
};
Order order = new Order()
{
ProductName = this.productname,
Quantity = this.quantity,
Customer = customer
};
context.Customers.Add(customer);
context.Orders.Add(order);
context.SaveChanges();
}
Console.WriteLine("Record is Created");
}
Вы имеете ввиду, чтобы в таблице все записи имели уникальные значения емейлов?
Наложите индекс (аннотация/атрибут [Index(IsUnique = true)]
). Вообще, нужно понимать, что в реляционных базах данных повсеместно этот механизм называется "ограничение" (constraint), а в конкретной СУБД майкрософт ограничение на уникальность (uniqueue constraint) реализуется через индекс (index, uniqueue index).
Просто в классе модели:
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
[Index(IsUnique = true)]
public string Email { get; set; }
public string Age { get; set; }
}
Если ваш вопрос про уникальность не на уровне отдельных полей а на уровне емейл + имя - то вот вам полный дубликат: Уникальный индекс по нескольким стобцам в Entity Framework
Ссылки по теме:
Виртуальный выделенный сервер (VDS) становится отличным выбором
Необходимо записать строку в textbox со словами от 1 до 5 прописных букв, каждое слово надо разделить минимум 1 пробелом и все должно работать...
Есть у меня словарь, в котором хранятся слова, которые надо заменять из входной строкиНа данный момент есть такой код
При попытке установки получил ошибку: Решил установить вручную: добавил таблицы с setupsql, в результате сам модуль просто сжирает память, на этапе...