Дублирование записей в MS SQL Server

187
04 февраля 2020, 19:50

У меня имеется 2 класса сущностей, первый класс:

public class Vnz
{
    [Key]
    public int Id_Vnz { get; set; }
    [Required, MaxLength(50)]
    public string NameVnz { get; set; }
    [Required, MaxLength(20)]
    public string Type { get; set; }
    [MaxLength(100)]
    public string Address { get; set; }
    public string Deckrib { get; set; }
    public string History { get; set; }
    public List<Vidilena> vidilenas { get; set; }
}

и второй класс:

public class Vidilena
{
    [Key]
    public int Id_Vid { get; set; }
    [Required, MaxLength(50)]
    public string NameVid { get; set; }
    [MaxLength(20)]
    public string Shifr { get; set; }
    [Required, MaxLength(50)]
    public string Zaviduvach { get; set; }
    [Required, MaxLength(20)]
    public string Telephone { get; set; }
    public string Decrib { get; set; }
    [Required]
    public Vnz Vnz { get; set; }
}

контекст следующий:

class StudentContext : DbContext
{
    public DbSet<Vnz> Vnzs { get; set; }
    public DbSet<Vidilena> Vidilenas { get; set; }
}

при добавлении данных Vnz в таблицу всё работает нормально, но когда я добавляю данные в Vidilena, то дублируются данные Vnz(создается копия):

readonly StudentContext db = new StudentContext();
Vidilena vid = new Vidilena()
{
    Decrib = tbDescrib.Text,
    NameVid = tbName.Text,
    Shifr = tbShifr.Text,
    Zaviduvach = tbZaviduvach.Text,
    Telephone = tbTelephone.Text,
    Vnz = db.Vnzs.Where(d=>d.Id_Vnz.Equals(VnzId)).FirstOrDefault()
};
await comand.VidilAddAsync(vid);

вот код метода:

public async Task VidilAddAsync(Vidilena vidilena)
{
     using (StudentContext db = new StudentContext())
     {
         try
         {
             db.Vidilenas.Add(vidilena);
             await db.SaveChangesAsync();
             Boxes.Information("Успішно додано!");
         }
         catch (Exception ex)
         {
             Boxes.Error(ex.Message);
         }
     }
 }

как убрать дубликаты?

READ ALSO
non-nullable reference types и default(T)

non-nullable reference types и default(T)

вот такой метод

197
c# ms access получить самую частую запись

c# ms access получить самую частую запись

в столбце есть повторяющиеся записинужно найти запись даты(string) с наибольшим количеством

179
Небольшая проблема

Небольшая проблема

Только начал изучать aspnet mvc

187
Преобразование wav файла для БПФ

Преобразование wav файла для БПФ

Читается wav файл (16-бит) в битовый массив buffer, далее стоит задача преобразовать данный массив для "Быстрого Преобразования Фурье"Для этого...

185