Как сделать так , что бы одни и те же данные не записывались в БД
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
Ссылки по теме:
Продвижение своими сайтами как стратегия роста и независимости