Многочисленные и многочисленные отношения один к одному в одних и тех же сущностяхC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Многочисленные и многочисленные отношения один к одному в одних и тех же сущностях

Сообщение Anonymous »

Первый класс: < /p>

Код: Выделить всё

public class Route
{
[Key]
public int Id { get; private set; }

public decimal Price { get; set; }

public decimal CapitalPrice { get; set; }

public int CurrencyId { get; set; }

[DeleteBehavior(DeleteBehavior.NoAction)]
public Currency Currency { get; set; } = null!;

public int DeparturePlaceId { get; set; }
[DeleteBehavior(DeleteBehavior.NoAction)]

public City DeparturePlace { get; set; } = null!;

public int ArrivePlaceId { get; set; }
[DeleteBehavior(DeleteBehavior.NoAction)]

public City ArrivePlace { get; set; } = null!;

[DefaultValue(value: false)]
public bool IsDeleted { get; set; }

public DateTime CreatedAt { get; set; } = DateTime.Now;

public DateTime UpdatedAt { get; set; } = DateTime.Now;

[DeleteBehavior(DeleteBehavior.NoAction)]
public ICollection? FromCities { get; set; } = null!;

[DeleteBehavior(DeleteBehavior.NoAction)]
public ICollection? ToCities { get; set; } = null!;

[DeleteBehavior(DeleteBehavior.NoAction)]
public ICollection? Trips { get; set; } = null!;

[DeleteBehavior(DeleteBehavior.NoAction)]
public ICollection? BookingItems { get; set; } = null!;

[DeleteBehavior(DeleteBehavior.Cascade)]
public ICollection? DepartureTimes { get; set; }
}
< /code>
И это второй класс: < /p>
public class City
{
[Key]
public int Id { get;  set; }

[Column(TypeName = "nvarchar(35)")]
public string Name { get; set; } = null!;

public byte CountryId { get; set; }

[DeleteBehavior(DeleteBehavior.NoAction)]
public Country Country { get; set; } = null!;

[DeleteBehavior(DeleteBehavior.NoAction)]
public ICollection
? Branches { get; set; }

public ICollection? Routes { get; set; }
}
Я хочу, чтобы ядро ​​предприятия поняла это сложное соотношение между маршрутом и City
Я попробовал это: < /p>

Код: Выделить всё

modelBuilder.Entity()
.HasOne(a => a.ArrivePlace)
.WithMany()
.HasForeignKey(a => a.ArrivePlaceId);

modelBuilder.Entity()
.HasOne(a => a.DeparturePlace)
.WithMany()
.HasForeignKey(a => a.DeparturePlaceId);
< /code>
    modelBuilder.Entity()
.HasMany(a => a.FromCities)
.WithMany()
.UsingEntity();

modelBuilder.Entity()
.HasMany(a => a.ToCities)
.WithMany()
.UsingEntity();
< /code>
   public class RouteFromCity
{
public City City { get; set; }
public int CityId { get; set; }
public int RouteId { get; set; }
public Route Route { get; set; }
}

public class RouteToCity
{
public int CityId { get; set; }
public City City { get; set; }
public int RouteId { get; set; }
public Route Route { get; set; }
}
< /code>
When I try to edit cities in the FromCities
или поля Tocities , я получаю ошибку:

Нарушение ограничения первичного ключа 'pk_routefromcity'. Невозможно вставить дубликат ключа в объект 'dbo.routefromcity'. Значение дубликата ключа составляет (2, 1013)


Подробнее здесь: https://stackoverflow.com/questions/794 ... e-entities
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»